Elasticsearch核心技术与实战学习笔记 32 | 使用Search Template和Index Alias查询
一 序
本文属于极客时间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是加一个过滤器: