2017-06-26 18 views
0

検索クエリをフレーズと個々の単語として解釈できますが、個々の単語よりもフレーズが優先されるeDismaxクエリパーサーを使用しようとしています。Solr eDismax Search - 個々の単語のフレーズの優先順位付け

例:

検索クエリ:私たちはクールだ

結果は次のようになります。フレーズと

  • ドキュメントフィールドリスト
  • の最上部に現れる '私たちは涼しいです'
  • フィールドが 'we'、 'are'、 'cool'のいずれかで構成されているドキュメントここでは最も多くの発生が優先されます。

これを実装するにはどうすればよいですか?ありがとう。

答えて

0

最も簡単な方法:例えばhere

ので、ドキュメントをチェックし、そのための後押しのPFのparamを使用します(あなたがそれらの二つのフィールドがあった場合)、これを追加する:

q=We are cool&pf=mytitle^10 mydescription 
+0

こんにちは@Persimmoniumを、どのような場合フィールドに関係なく、フレーズ内の個々の単語よりも「フレーズ」のほうが高いスコアを必要としますか?ありがとう – codeandfootball

+0

あなたはいつもSolrのいくつかのフィールドを指定する必要があります。デフォルトフィールドdfの設定があります。 – Persimmonium

+0

わかりました。しかし、この場合、私の「q」は何か分かりますか?私は "We are cool"を試みましたが、正確なフレーズだけを返しますが、このフレーズの中に単語を含む結果は返しません。クエリ全体に他のパラメータを提供できる方が良いでしょう。ありがとう – codeandfootball

関連する問題