1. ホーム
  2. エラスチックサーチ

[解決済み】ElasticsearchのMUSTとSHOULDの違い boolクエリ

2022-04-05 04:51:12

質問

とはどのような違いがあるのでしょうか? MUSTSHOULD ブールクエリをES?

もし私が オンリー を使用する必要があります。 must ?

私は、特定の値のみを含むべきクエリを持っており、また、今日の時間/日付 - NOWより低い日付/タイムスタンプを持つ結果を持たない。

また

以下のコードのように、1つのマストの中で複数のフィルタを使用することは可能ですか?

"filtered": {
"filter": {
"bool" : {
        "must" : {
            "term" : { "type" : 1 }
            "term" : { "totals" : 14 }
            "term" : { "groupId" : 3 }
            "range" : {
                "expires" : {
                    "gte": "now"
                }
            }
        },

解決方法は?

必須 を意味します。その句(クエリ)は必ず一致する文書に出現しなければならない。これらの句は、論理的な AND .

べきである を意味します。これらの句の少なくとも1つは、論理的なように一致しなければなりません。 または .

基本的には論理演算子ANDとORのような使い方をします。参照 これ .

今度は ブールクエリ :

必須 を意味します。以下のような節があります。 しなければならない が一致すれば、その文書が含まれる。

を意味します。これらの句が一致すると _score そうでなければ、何の効果もない。これらは単に各文書の関連性スコアを改良するために使われる。


はい、複数のフィルタを使用することができます。 must .