舊賬號忘記了郵箱,所以新建一個復制過來
各個版本之間的使用命令還是有些差別,前段時間用6.1.3,不管是使用head還是cerebro,提交時總是碰到各種問題,部分原因就是以前看到的一些資料,版本較早,命令有些差異,所以把一些內容記下來,免得忘了。
官方地址 https://www.elastic.co/guide/en/elasticsearch/reference/6.8/search-template.html
cerebro系統操作如下:
下面的命令中:{es_path}替換為es的路徑;{template_name}替換為模板名;{index_name}替換為索引名
1.創建模板
post http://{es_path}/_scripts/{template_name}
{ "script": { "lang": "mustache", "source": { "query": { "match": { "text": "{{query_string}}" } } } } }
2.查看模板
get http://{es_path}/_scripts/{template_name}
3.解析模板
get http://{es_path}/_render/template
1 { 2 "id":"tmp_query", 3 "params":{ 4 "query_string":"文本" 5 } 6 }
4.查詢模板
get/post http://{es_path}/{index_name}/_search/template
1 { 2 "id":"tmp_query", 3 "params":{ 4 "query_string":"衛衣" 5 } 6 }
查看全部模板,在6.x中使用 _cluster/state ,結果中的metadata中的 stored_scripts。
業務中查詢比較復雜的時候使用模板是個不錯的選擇,而且有些邏輯調整可以直接通過模板修改就可以完成,避免每次查詢邏輯的調整,都需要重新發布代碼,但需要做好模板的審核,如果能夠在現有基礎上進行二次開發,來進行模板的驗證、審核、發布就更為理想。