【问题标题】:Elasticsearch the terms filter raise "filter does not support [mediatest]"Elasticsearch 术语过滤器引发“过滤器不支持 [mediatest]”
【发布时间】:2015-08-02 12:36:48
【问题描述】:

我的查询是这样的:

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

它引发 QueryParsingException [[comos_v2] [terms] 过滤器不支持 [mediaType]],其中字段“mediaType”在映射中完全不存在. 我的问题是为什么术语过滤器不会引发异常?

【问题讨论】:

    标签: json elasticsearch dsl


    【解决方案1】:

    以上不是有效的查询 DSL。在上面的Terms filter 中,“mediaType”字段的值应该是一个数组

    应该是这样的:

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

    【讨论】:

      【解决方案2】:

      这只是“术语”与“术语”的问题。很容易错过它的复数/单一方面。

      我在这个查询中遇到了一个非常相似的错误,我试图删除一个特定的区域:

      '{"query":{"terms":{"zoneid":25070}}}'
      

      我在运行上述查询时遇到了错误。

      只要将“terms”更改为“term”,查询就会毫无问题地执行,如下所示:

      '{"query":{"term":{"zoneid":25070}}}'
      

      【讨论】:

        【解决方案3】:

        它的 2021 我正在使用 .keyword 进行精确的文本匹配,但您也可以轻松省略:

        {"query":
          {"bool":
            {"must":
              [
                {"term":
                  {"variable1.keyword":var1Here}
                },
                {"term":
                  {"variable2.keyword":var2Here}
                }
              ]
            }
          }
        }
        

        【讨论】:

          猜你喜欢
          • 2014-07-31
          • 2013-11-13
          • 1970-01-01
          • 2020-07-07
          • 2016-10-11
          • 2018-02-17
          • 1970-01-01
          • 2018-04-26
          • 2015-01-09
          相关资源
          最近更新 更多