开始使用ElasticSearch(六)之搜索模板

这章会比较短,我就描述一个小知识点。
之因此个人文章都很短是由于我以为那些长篇大论不知道分解的文章很难消化。
我这里简单讲一下搜索模板的配置,由于我的感受这块相对独立吧。sql

***Elasticsearch 里面的 Search Template 容许咱们提早定义好一个查询的模板,

而且经过参数的方式来接受外部传进来的变量,而后借助 Elasticsearch 内置的

Mustache 脚本引擎来进行渲染。*

看一个简单的经过搜索模板来执行查询的例子c#

开始使用ElasticSearch(六)之搜索模板

很简单的查询语法,主要有2个主题:
1.source:定义查询的字段名,匹配值,长度
2.params:将字段名,匹配值,长度填进去
这里就跟c#里面的sql语句参数化的写法如出一辙。

解析出来的语句就是:ide

{
"query": { "match" : { "goodsname" : "XPZ1687-TX" } },
"size" : "10"
}3d

模板定义使用

前面咱们了解了模板基础语法,那么身为钻牛角尖的程序猿确定想,这也不叫模板啊。
模板起码咱们要存下来,根据模板编号调用传参数吧。
的确是这样,我接下来简单的演示一下!blog

开始使用ElasticSearch(六)之搜索模板
这里我定义了一个名为search_template_v001的模板,定义了一个字段的动态匹配条件。
source这里再也不是查询值填充了,这里是咱们查询成功后想返回的字段值。it

接下来,看看怎么调用

开始使用ElasticSearch(六)之搜索模板
结果返回了,并且比刚刚全表扫描的时候简约了,而且只返回了模板中定义的字段。
是否是很简单!
返回字段定义在模板中,之后想修改返回字段只须要修改模板就能够了,不须要发布一
次调用端,并且查询端也是灵活的。ast

相关文章
相关标签/搜索