用于过滤器的ElasticSearch模板

时间:2015-07-31 23:43:57

标签: templates elasticsearch filter

我是弹性搜索的新手。据我所知,有两种类型的模板:模板查询和模板。搜索模板。 基于this帖子及其对弹性参考文档的描述。它看起来都是查询模板。

因为过滤器的性能优于我想要创建过滤器模板的查询。

有没有办法做到这一点,我觉得必须有。

谢谢!

仅供参考,如果重要的是我使用JAVA API与Elasticsearch进行交互

1 个答案:

答案 0 :(得分:1)

您可以创建过滤器模板。排除过滤器的搜索模板没有什么特别之处。事实上,他们在documentation中有一些相当不错的例子。

{
  "query": {
    "filtered": {
      "query": {
        "match": {
          "line": "{{text}}" 
        }
      },
      "filter": {
        {{#line_no}} 
          "range": {
            "line_no": {
              {{#start}} 
                "gte": "{{start}}" 
                {{#end}},{{/end}} 
              {{/start}} 
              {{#end}} 
                "lte": "{{end}}" 
              {{/end}} 
            }
          }
        {{/line_no}} 
      }
    }
  }
}