6.elasticsearch中search template和alias

什么是search template

顾名思义,查询模版,就是提前设定好查询的DSL,再次查询时,只需要指定对应的模版,然后传入相应的参数就好。一是可以每次不用构建复杂的DSL,二是可以供开发直接使用查询DSL模版,减少学习和对接成本。

有如下两种方法

一、创建脚本_script/template,然后使用此模版

#创建脚本 POST _scripts/mytemplate { "script":{ "lang": "mustache", "source": { "query": { "term": { "{{key}}":"{{query_string}}" } } } } } #对某个索引使用脚本 GET movies/_search/template { "id":"mytemplate", "params": { "key":"title", "query_string":"love" } }

二、在es安装目录config/scripts文件夹下,添加.mustache文件

{ "query":{ "match": { "{{match_field}}":"{{match_value}}" } }, "post_filter":{ {{#isCondition}} "range":{ "{{range_field}}":{ {{#start}} "gte":{{start}} {{#end}},{{/end}} {{/start}} {{#end}} "lte":{{end}} {{/end}} } } {{/isCondition}} } } }

查询语句:

GET book/book/_search/template { "file":"match_condition", "params": { "match_field":"bookAuthor", "match_value":"陈寅恪", "isCondition":true, "range_field":"bookPrice", "start":10, "end": 10 } }

__EOF__

本文作者赛博朋克V
本文链接https://www.cnblogs.com/pengliblogs/p/17946815.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角推荐一下。您的鼓励是博主的最大动力!
posted @   赛博朋克V  阅读(40)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~
点击右上角即可分享
微信分享提示