web-dev-qa-db-ja.com

Elasticsearchの用語filterraise「filterは[mediatest]をサポートしていません」

私のクエリは次のようなものです:

{
  "query": {
    "filtered": {
      "filter": {
        "bool": {
          "must": [
            {
              "term": {
                "online": 1
              }
            },
            {
              "terms": {
                "mediaType": "flash"
              }
            }
          ]
        }
      }
    }
  }
}

queryParsingException [[comos_v2] [terms]フィルターは[mediaType]]をサポートしていません。 mediaType "はマッピングに正確に存在しません。私の質問は、用語フィルターが例外を発生させないのはなぜですか?

12
gwecho huang

上記は有効なクエリDSLではありません。上記では 用語フィルター 「mediaType」フィールドの値は配列である必要があります

次のようになります。

{
  "query": {
    "filtered": {
      "filter": {
        "bool": {
          "must": [
            {
              "term": {
                "online": 1
              }
            },
            {
              "terms": {
                "mediaType": ["flash"]
              }
            }
          ]
        }
      }
    }
  }
}
24
keety