2017-04-10 17 views
0

私は次のクエリを実行しています。私は、 "images"というキーワードを含むすべてのドキュメントを取得し、カテゴリ1857または1859の下にあることを期待していました。このクエリは、私が思っていたものでなければどうしますか?このエラジーサーチクエリは何をしますか?

{ 
"query": { 
"bool": { 
    "must": [ 
    { 
     "terms": { 
     "category_id": [1857, 1859] 
     } 
    }, 
    { 
     "match": { 
     "_all": { 
      "query": "images" 
     } 
     } 
    } 
    ] 
} 
} 
} 
+0

のように体にフィールドとして追加しようとしますが、文書の例を提供することができます一致してはいけませんが検索結果として表示されますか? – Random

+0

残念ながら、私は結果セットへの完全なアクセス権を持っていません。 – Michael

答えて

0

それはあなたが説明するように動作するはずです:それはcategory_idが条件1857または1859があり、少なくとも1つのフィールドにimages用語を持つドキュメントを返します。言い換えれば、それは次の式と一致します:(category_id in (1857, 1859)) and _all = 'images'

あなたは間違ってマッチした文書の例を提供することはできませんので、explainクエリ文字列パラメータを使用してクエリを実行するか、この

{ 
    "explain": true, 
    "query": { 
     "bool": { 
      "must": [ 
       { 
        "terms": { 
         "category_id": [ 
          1857, 
          1859 
         ] 
        } 
       }, 
       { 
        "match": { 
         "_all": { 
          "query": "images" 
         } 
        } 
       } 
      ] 
     } 
    } 
} 
+0

ありがとうございます。しかし、このクエリは何をしますか? "image"が任意の語*に現れるすべての文書をフェッチしますか?* 1857はcategory_id *または* 1859に表示されますか? – Michael

+0

私の答えを更新しました – Random

関連する問題