0

sunspot/solr を使用して簡単なクエリを作成しようとしていますが、クエリ文字列に「of」という単語が含まれていると、結果を取得できないようです。

もう少し詳しく言うと:

「University of Thessaloniki」をクエリすると、solr はヒットを返しませんが、「University Thessaloniki」をクエリするとヒットします。

ログは次のとおりです。

Sep 29, 2012 10:24:56 AM org.apache.solr.core.SolrCore execute
INFO: [] webapp=/solr path=/select params={fl=*+score&start=0&q=University+of+Thessaloniki&qf=status_code_text+pi_details_text+other_party_name_text+contact_details_text+other_pi_details_text+sending_or_receiving_text+start_at_str_text+materials_text&wt=ruby&fq=type:Mta&defType=dismax&rows=10000} hits=0 status=0 QTime=8 

Sep 29, 2012 10:25:09 AM org.apache.solr.core.SolrCore execute
INFO: [] webapp=/solr path=/select params={fl=*+score&start=0&q=University+Thessaloniki&qf=status_code_text+pi_details_text+other_party_name_text+contact_details_text+other_pi_details_text+sending_or_receiving_text+start_at_str_text+materials_text&wt=ruby&fq=type:Mta&defType=dismax&rows=10000} hits=9 status=0 QTime=5 

sunspot/solr ( http://localhost:8981/solr/admin/analysis.jsp?highlight=on) の管理インターフェースで同じクエリを直接作成すると、一致が強調表示されます。

私の間違いを見つけてください。

よろしくお願いします

4

1 に答える 1

1

dismax クエリ パーサーを使用しているため、一致する最小数を構成できます。デフォルト値は 100% で、すべての句が一致する必要があることを意味します。どうやらあなたのドキュメントには単語が含まれていませんof。その場合は、使用している solr のバージョンによって動作がわずかに変化することを考慮して、最小値を一致させる必要があるパラメーターを構成するだけで済みます。一方、この単語ofを持っていると思われる場合は、ドキュメントのインデックスをどのように作成しているかを確認することをお勧めします。クエリ時ではなく、インデックス時にストップワード フィルターを適用している可能性はありますか?

于 2012-09-29T15:18:29.363 に答える