3

我有这样的查询

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

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

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

我如何使“foo”位成为“不得”。

提前致谢

4

1 回答 1

4

您应该使用您的过滤must_not子句。

must_not条款不影响分数;它们的唯一目的是排除原本可能包含在内的文件。

于 2016-04-12T08:00:20.110 回答