ElasticSearch匹配查询和过滤器

时间:2016-05-25 15:54:58

标签: elasticsearch

我正在尝试在ElasticSearch中使用过滤器,但最终我没有得到任何结果。我可以使用带匹配的查询进行一些过滤,但我宁愿使用过滤器,这样我就可以使用嵌套的AND和OR子句。

这是一个例子。这是一个使用匹配查询选择某些记录的示例,eventTypeEiffelArtifactNewEvent的记录。我添加了一个标记为(* THIS LINE *)的过滤行,我认为它会完成同样的事情,但事实证明我没有得到任何结果。

我该如何编写以便我只对查询逻辑使用过滤器,并且只使用查询{"match_all":{}}

{
   "query": {
    "filtered": {
      "query": {
          'match': {'eventType': {'operator': 'and', 'query': 'EiffelArtifactNewEvent'}}
      },
      "filter": {
        "and": [
          { "term" : {"eventType" : "EiffelArtifactNewEvent"  }  (* THIS LINE*)
          (* here I will later add more AND and OR clauses *)
          }
        ]
      }
    }
  }
}

0 个答案:

没有答案