ElasticSearch6 查詢模板的創建使用


舊賬號忘記了郵箱,所以新建一個復制過來

    各個版本之間的使用命令還是有些差別,前段時間用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。

 

 業務中查詢比較復雜的時候使用模板是個不錯的選擇,而且有些邏輯調整可以直接通過模板修改就可以完成,避免每次查詢邏輯的調整,都需要重新發布代碼,但需要做好模板的審核,如果能夠在現有基礎上進行二次開發,來進行模板的驗證、審核、發布就更為理想。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM