《深入理解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目錄中)。使用如下命令:
接下來我們就可以在查詢中用模板名稱來使用該文件的內容了(模板名稱就是模板文件名稱去掉.mustache後綴)。例如,如果我們使用bookList模板,則可以使用如下命令:
Elasticsearch有一個非常方便的特性:它可以無需重啟就檢測到模板文件的變更。當然,我們還是需要在每個負責查詢的Elasticsearch節點上部署查詢模板文件。從Elasticsearch 1.4.0版本開始,你可以把模板索引到一個名為.scripts的特殊索引中。更多相關信息請參考Elasticsearch的官方文檔:https://www.Elasticsearch.org/guide/en/Elasticsearch/reference/current/search-template.html。
最後更新:2017-06-23 23:02:54