0
以下
Solrのインデックスからの私のJSONレスポンスは、ある私は、以下のクエリを額装以下Lucene検索を書かれたこの詳細をretriveするにLucene検索返す同じ値2倍
> <doc> <str name="longitudeCoordinate">11.2409</str> <str
> name="chainName">Pegasus Connect</str> <str
> name="currencyCode">EUR</str> <str name="entityType">hotelInfo</str>
> <str name="propertyName">BELLA VISTA</str> <str
> name="chainCode">UZ</str> <str name="marketerName">Pegasus
> Solutions</str> <str name="disableReasonId">A</str> <str
> name="propertyId">100003</str> <str name="marketerId">PEGASUS</str>
> <str name="propertyStatus">Inactive</str> <str
> name="latitudeCoordinate">43.77691</str> <str
> name="countryCode">ES</str> </doc>
、
+entityType:hotelInfo +(propertyId:100003) +(marketerId:PEGASUS) +(chainCode:UZ) +(+propertyName:bella +propertyName:vista*) +(disableReasonId:P disableReasonId:C disableReasonId:A)
しかし、それは同じ結果を2回与えている。
if (hotelName != null) {
StandardAnalyzer analyzer;
analyzer = new StandardAnalyzer(Version.LUCENE_46);
QueryParser queryParser = new QueryParser (Version.LUCENE_46, "propertyName", analyzer);
// queryParser.setAllowLeadingWildcard (true);
queryParser.setDefaultOperator(QueryParser.Operator.AND);
Query pNameQuery = null;
try {
pNameQuery = queryParser.parse (hotelName + "*");
} catch (ParseException e) {
e.printStackTrace();
} finally {
analyzer.close();
}
hotelInfoQuery.add (pNameQuery, BooleanClause.Occur.MUST);
}
私は、私は、コードのどの部分が複数の結果を作成し、それを是正するために役立つされて得ればproperty-name.Itをフィルタリングするための責任を負う部分のみが有用であろう追加。
よろしく、 ラガバン
これは正しい回答であるはずです。同じ文書をsolrコアに2回挿入した可能性があります。 – jeorfevre
答えてくれてありがとう、実際には私はscoreDoc []配列が検索クエリから返されたことを検証しました。それ自体2つの結果が含まれています。参考のためにスクリーンショットを添付しました。 – Raghavan
スコアが同じ場合は、同じ文書を2回追加したことになります。そして、どちらも期待どおりの異なる文書IDを受け取っています。 –