《深入理解Elasticsearch(原书第2版)》一2.3.3 把查询模板保存到文件

本节书摘来华章计算机《深入理解Elasticsearch(原书第2版)》一书中的第2章 ,第2.3.3节,[美]拉斐尔·酷奇(Rafal Ku) 马雷克·罗戈任斯基(Marek Rogoziski)著 张世武 余洪淼 商旦 译 更多章节内容可以访问云栖社区“华章计算机”公众号查看。

2.3.3 把查询模板保存到文件

抛开之前定义模板的方式不说,我们距离把查询跟应用程序解耦还有相当长的一段路要走。我们能够做的仅仅是把查询语句参数化,而整个查询模板字符串仍然需要保存在应用程序中。幸运的是,有一种简单的方法来改变目前这种查询定义方式,它允许Elasticsearch从config/scripts 目录中动态读取查询模板。
举例来说,让我们创建一个名为bookList.mustache的文件(在config/scripts目录中)。使用如下命令:
image
image

接下来我们就可以在查询中用模板名称来使用该文件的内容了(模板名称就是模板文件名称去掉.mustache后缀)。例如,如果我们使用bookList模板,则可以使用如下命令:
image

 Elasticsearch有一个非常方便的特性:它可以无需重启就检测到模板文件的变更。当然,我们还是需要在每个负责查询的Elasticsearch节点上部署查询模板文件。从Elasticsearch 1.4.0版本开始,你可以把模板索引到一个名为.scripts的特殊索引中。更多相关信息请参考Elasticsearch的官方文档:http://www.Elasticsearch.org/guide/en/Elasticsearch/reference/current/search-template.html。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/541122.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

python两个中文队列比较_具有两个优先级的优先级队列Python

使用NPE的策略-一个tuple作为队列优先级,tuple是(fpriority, spriority):import Queueclass Job(object):def __init__(self, fpriority, spriority, descriptionblah, iatafoo , hopsample, costfree pitchers):self.fpriority fpriorityself.spriorit…

之江学院第0届 A qwb与支教 容斥与二分

题目链接: http://115.231.222.240:8081/JudgeOnline/problem.php?cid1005&pid0 题目描述: 给你三个数x, y, z 和 N 输出从1开始数第N个不是x, y, z 任意一个数的倍数的数字 解题思路: 一看到倍数我先想到素数唯一分解定理, …

java toarray_Java Vector toArray()方法与示例

java toarray向量类toArray()方法 (Vector Class toArray() method) Syntax: 句法: public Object[] toArray();public Object[] toArray(Type[] ty);toArray() method is available in java.util package. toArray()方法在java.util包中可用。 toArray() method i…

Python基础--环境配置、编码风格、基础概念、基本数据类型(1)

#######python########python的基本[rootdesktop ~]# yum install python -y[rootdesktop ~]# python -V ##查看python版本Python 2.7.5[rootdesktop ~]# python --versionPython 2.7.5为什么用/usr/bin/python关于python脚本中的第一行内容 :#!/usr/bin/python 这种写法表示…

java treemap_Java TreeMap keySet()方法与示例

java treemapTreeMap类的keySet()方法 (TreeMap Class keySet() method) keySet() method is available in java.util package. keySet()方法在java.util包中可用。 keySet() method is used to return a set of keys that exists in this TreeMap to be viewed in a Set. keyS…

mysql简单部署_安装部署Mysql实例(最简单快速噢)

题外话作为Mysql DBA,我们平时必须要熟练的一个最最基础的技能,即安装部署Mysql实例,所以本文分享一个快速安装部署Mysql实例的方法。一、环境介质准备Mysql安装包准备服务器准备我这里使用的是centos 7.x,此方法适用于任何其他li…

zabbix增加手机端4个url地址的返回值

由同事提供4个需要监控的url地址GET类型:http://10.15.24.61:809/UserCenterService.svc/getAccountInfo/563/9638POST类型:http://10.15.24.61:809/ProductService/userInvestVarietyYjsList/4/0/563/1/9638/1.0http://10.15.24.61:809/ProductService/…

java timezone_Java TimeZone setID()方法与示例

java timezoneTimeZone类的setID()方法 (TimeZone Class setID() method) setID() method is available in java.util package. setID()方法在java.util包中可用。 setID() method is used to set the id of this TimeZone. setID()方法用于设置此TimeZone的ID。 setID() metho…

iis php mysql 集成_如何在IIS上集成php(iis+mysql+php+zend)

下面介绍下如何在IIS上集成php、这里我就不说cgi了,因为cgi需要系统权限过高,不建议虚拟主机使用,而且cgi程序也很少有人用到,楼主说的要iis6.0结合php安装需要:windows2003系统 安装有IIS6.0php-5.1.1-Win32.zipmysql…

微信红包促销系统开发

如今,互联网的普及,借助网络,营销更加方便。已经有商家开始与我们合作开发新推出的微信二维码红包促销活动了,不仅能达到活动气氛还能进行防伪,同时还可以给自己的公众号沉淀粉丝。微信红包促销系统开发—— 张小龙作为…

hashmap示例_Java HashMap remove()方法与示例

hashmap示例HashMap类的remove()方法 (HashMap Class remove() method) remove() method is available in java.util package. remove()方法在java.util包中可用。 remove() method is used to remove the key-value pairs that exist in this HashMap for the given key eleme…

mysql 中有行号吗_重置SQLite3 / MySQL中的行号计数

sqlite的使用:DELETE FROM your_table;DELETE FROM sqlite_sequence WHERE name your_table;sqlite keeps track of the largest ROWID that a table has ever held using the special sqlITE_SEQUENCE table. The sqlITE_SEQUENCE table is created and initializ…

『科学计算』科学绘图库matplotlib练习

思想:万物皆对象 作业 第一题: import numpy as np import matplotlib.pyplot as pltx [1, 2, 3, 1] y [1, 3, 0, 1]def plot_picture(x, y):plt.plot(x, y, colorr, linewidth2, linestyle--, markerD, labelone)plt.xticks(list(range(-5,5,1)))plt.…

Java BigDecimal min()方法与示例

BigDecimal Class max()方法 (BigDecimal Class max() method) max() method is available in java.math package. max()方法在java.math包中可用。 max() method is used to return the least value of (this BigDecimal) and the given (BigDecimal ob). max()方法用于返回(t…

mysql下载64位 csdn_Linunx-CentOS7安装mysql-5.7.23-linux-glibc2.12-x86_64.tar

2. Linux下安装Mysql2.2 将下载好的mysql安装包通过xftp上传到虚拟机上。2.3 将安装包移动到/usr/local路径下#mv mysql-5.7.23-linux-glibc2.12-x86_64.tar.gz /usr/local2.4 解压安装包#tar -zxvf mysql-5.7.23-linux-glibc2.12-x86_64.tar.gz2.5 重命名解压文件或者是建立软…

tempdb 相关总结

/* -- 0. 高速压缩tempdb为初始值 USE tempdb DBCC SHRINKFILE(2,TRUNCATEONLY); */-- 1. tempdb以下未回收的暂时表 ,某些版本号可能查不到数据 use tempdb; select * from sys.objects o where o.type like %U%;-- Chapter 7 - Knowing Tempdb -- christiancoeo.com-- Show t…

java calendar_Java Calendar after()方法与示例

java calendarCalendar类after()方法 (Calendar Class after() method) after() method is available in java.util package. after()方法在java.util包中可用。 after() method is used to check whether this calendar time is after the time denoted by the given Objects …

rust拆掉墙_rust怎么拆自己的墙

rust游戏中可以建造自己的家,但是当建墙的时候总会觉得摆放不好,所以就需要拆除,但是要怎么拆自己的墙呢,下面小编就来为大家介绍一下吧!rust怎么拆自己的墙要先放上领地柜,然后在墙刚建好的几分钟内锤子右…

Java BigDecimal add()方法与示例

BigDecimal类的add()方法 (BigDecimal Class add() method) Syntax: 句法: public BigDecimal add(BigDecimal val);public BigDecimal add(BigDecimal val, MathContext ma_co);add() method is available in java.math package. add()方法在java.math包中可用。 …

Analytics API and Customer Data Platform | Segment

Analytics API and Customer Data Platform | Segment