ElasticSearch6 查询模板的创建使用

各个版本之间的使用命令还是有些差别,前段时间用6.1.3,不管是使用head还是cerebro,提交时总是碰到各种问题,部分原因就是以前看到的一些资料,版本较早,命令有些差异,所以把一些内容记下来,免得忘了。

官方地址 https://www.elastic.co/guide/en/elasticsearch/reference/6.8/search-template.html 

 cerebro系统操作如下:

下面的命令中:{es_path}替换为es的路径;{template_name}替换为模板名;{index_name}替换为索引名

1.创建模板

post    http://{es_path}/_scripts/{template_name}

{
  "script": {
    "lang": "mustache",
    "source": {
      "query": {
        "match": {
          "text": "{{query_string}}"
        }
      }
    }
  }
}

2.查看模板

get     http://{es_path}/_scripts/{template_name}

3.解析模板

get   http://{es_path}/_render/template

{
    "id":"tmp_query",
    "params":{
        "query_string":"文本"
    }
}

4.查询模板

 get/post    http://{es_path}/{index_name}/_search/template

{
    "id":"tmp_query",
    "params":{
        "query_string":"卫衣"
    }
}

业务中查询比较复杂的时候使用模板是个不错的选择,而且有些逻辑调整可以直接通过模板修改就可以完成,避免每次查询逻辑的调整,都需要重新发布代码,但需要做好模板的审核,如果能够在现有基础上进行二次开发,来进行模板的验证、审核、发布就更为理想。

猜你喜欢

转载自www.cnblogs.com/wfox111/p/11125313.html