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

1 {
2     "id":"tmp_query",
3     "params":{
4         "query_string":"文本"
5     }
6 }

 

 

 

4.查询模板

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

1 {
2     "id":"tmp_query",
3     "params":{
4         "query_string":"卫衣"
5     }
6 }

 

 查看全部模板,在6.x中使用 _cluster/state ,结果中的metadata中的 stored_scripts。

 

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

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM