2016-07-06 15 views
0

現在、 "OR"演算子を使用したESでのマルチスキャンクエリを使用しています。私が取り組んでいる問題は、ESが検索クエリで最も重要な用語を知らないということです。ElasticSearch: "OR"演算子を使用した検索結果の不一致

natural cat food

のための企業のリストを検索するとき、我々はcatnaturalより上で一致させるためにはるかに重要であることを伝えることができ、ペット用品店が戻ってくることを期待します。

しかし、naturalはまったくまれな言葉で、catと同じように、「天然毛髪ケア製品」を含むサロンは、その説明に「猫」しかないペットサプライ店に同様のスコアで返されています。

"AND"演算子に切り替えた場合、何も返されません。だから、catがこの場合naturalよりも一致する単語であることをESに認識させるにはどうすればよいですか?

答えて

0

この場合、ブースティングを使用することができます。ありがとうございましたhere

+0

昇格は個々の単語ではなく、フィールドの場合のみです – jkstrawn

+0

同じレベルの個々の単語が等しい優先度を持つため、クエリの順序を変更できます。https://www.elastic.co /guide/en/elasticsearch/guide/current/query-scoring.htmlまた、私がどのように手伝ってくれるかを知るために、使用している正確なクエリを教えてください。 – rajat

+0

さらに、私はあなたがクエリ文字列を使用していると思う、代わりにboolクエリを使用する – rajat

関連する問題