《深入理解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.pswp.cn/news/541122.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/541122.shtml
英文地址,請注明出處:http://en.pswp.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