一 序
本文屬於極客時間Elasticsearch核心技術與實戰學習筆記系列。
這節課實際開發中比較有用,使用Search Template就可以將我們的一些搜索進行模板化,這樣就能屏蔽底層的複雜的查詢。對於使用者只傳入一些參數就行。
二 Search Template - 解耦程序 & 搜索 DSL
Elasticsearch 的查詢語句
- 對相關性算分 / 查詢性能都至關重要
在開發初期,雖然可以明確查詢參數,但是往往還不能最終定義查詢的 DSL 的具體結構
- 通過 Search Template 定義一個 Contract
各司其職,解耦
- 開發人員 / 搜索工程師 / 性能工程師
demo
還是依賴於電影的數據。
因爲是單字符串的輸入,所以定義query爲{q},是在“title”"overview"兩個字段上做查詢。
針對前端工程師,使用模板,需要指定模板的ID,及查詢條件。
如果用老師的例子,得確保有tmdb這個索引。
三 使用 Index Alias 實現零停機運維
在ES中可以爲index設置別名,通過別名對index進行操作
//爲索引建一個別名
POST _aliases
{
"actions": [
{
"add": {
"index": "movies",
"alias": "movies-latest"
}
}
]
}
下面通過 別名來訪問:
下面的demo是加一個過濾器: