2017-05-19 8 views
0

私の新しい検索ツールの1つに弾性検索を使用する予定です。今までは普通のルーケンを使用していました...今日は特定のフィールドに対して渡された値を検索しません。常にmatch_allオプションを実行します。つまり、誰かが "xyz"と入力した場合、照合はどこにあっても "xyz"を見つけるだけです。エラスティック検索での問い合わせ

私の質問は、match_allオプションを使用することをお勧めしますか、いくつかの定義済みのフィールドを検索する必要がありますか?私はいくつかのCPUとメモリを取るいくつかを読んで..しかし、私は弾性で同じ避けるために強い理由として使用することができるいくつかの特定の理由を探しています..

ありがとう。

答えて

0

match_allクエリは素晴らしいです。と一致するものはですが、これまでのところあなたを連れてくるだけです。ほとんどの場合、match_allはすべてのフィールドを同じように脅威にするため、関連性はmatch_allよりも優れている必要があります。以下のようなもの:

  • description
  • よりtitleがより重要にする異なるフィールドに異なるanalyzerを使用
  • メイクプレフィックスは、より関連性の

..require(booleanmatchクエリに一致します。私は行くことができるが、あなたは要点を得る。

+0

私はmatch_allを選ぶとパフォーマンスの問題はありますか? どちらが速くなるでしょうか?技術的には、明らかにmatch_allが特定のフィールドよりも遅くなることは明らかですが、このステートメントをサポートするための確かな証拠が必要です。 – user2698580

+0

パフォーマンスだけが考慮される場合は、 'match_all'が良い選択です。そのシンプルさは速くなります。 –

関連する問題