小编Sap*_*uha的帖子

elasticsearch-dsl:否定过滤器

我有一个这样的查询

   s = Search(using=es, index=indices)
   s = s.filter('range', 
                utctimestamp={'gte': begindateUTC, 'lte': enddateUTC})
         .filter("term",tags="foo").
         .sort("-utctimestamp")
Run Code Online (Sandbox Code Playgroud)

我的问题是,如何取消过滤器?即不是foo。以上是使用过滤器的“必须”,例如

  "filter": {
    "bool": {
      "must": [
        {
          "range": {
            "utctimestamp": {
              "from": 1460407864660,
              "to": 1460409664660
            }
          }
        },
        {
          "fquery": {
            "query": {
              "query_string": {
                "query": "_type:(\"foo\")"
              }
            },
            "_cache": true
          }
        }
      ]
Run Code Online (Sandbox Code Playgroud)

我该如何将“foo”位设置为“不得”。

提前致谢

elasticsearch elasticsearch-dsl

3
推荐指数
1
解决办法
2458
查看次数

标签 统计

elasticsearch ×1

elasticsearch-dsl ×1