2017-06-06 20 views
0
以下

enter image description here 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をフィルタリングするための責任を負う部分のみが有用であろう追加。

よろしく、 ラガバン

答えて

0

私がコメントするのに十分な評判を持っていない、ので、お答えする必要があります。

まず、同じドキュメントをインデックスに2回追加していないことを確認してください。 ドキュメントにIDがあります。ドキュメントIDも印刷します。

2つのドキュメントに異なるIDがある場合は、同じドキュメントを2回挿入しています。

IDが同じなら、もっと深く掘り下げなければなりません。

+0

これは正しい回答であるはずです。同じ文書をsolrコアに2回挿入した可能性があります。 – jeorfevre

+0

答えてくれてありがとう、実際には私はscoreDoc []配列が検索クエリから返されたことを検証しました。それ自体2つの結果が含まれています。参考のためにスクリーンショットを添付しました。 – Raghavan

+0

スコアが同じ場合は、同じ文書を2回追加したことになります。そして、どちらも期待どおりの異なる文書IDを受け取っています。 –