成都好的网站设计公司,企业管理制度标准范本,百度广告公司联系方式,网站建设和优化的步骤写在前面
本文看下es的search template和index alias。
1#xff1a;search template
用来定义模板查询语句#xff0c;运行时只需要将要查询的内容作为参数传进来即可#xff0c;如下#xff1a; 接着来测试下#xff0c;首先来定义数据#xff1a;
DELETE tmdb/
P…写在前面
本文看下es的search template和index alias。
1search template
用来定义模板查询语句运行时只需要将要查询的内容作为参数传进来即可如下 接着来测试下首先来定义数据
DELETE tmdb/
PUT tmdb/curl -H Content-Type: application/json -XPOST 192.168.10.64:9210/tmdb/_bulk --data-binary javaio-appendfile1709014272558.jsonjavaio-appendfile1709014272558.json从这里 下载。 接着定义index template
POST _scripts/tmdb
{script: {lang: mustache,source: {_source: [title,overview]},size: 20,query: {multi_match: {query: {{q}},fields: [title,overview]}}}
}查询
POST tmdb/_search/template
{id: tmdb,params: {q: basketball with cartoon aliens}
}2index alias 用来设置索引别名查询时使用别名在运行时可以动态修改别名所对应的真正的索引这样可以做到不停机的更改查询的索引。考虑这样的场景某个数据一天创建一个索引如果是不使用index alias的话则每天都要更改要查询的索引。
首先来准备数据:
POST day_20200301/_bulk
{index: {_id: 1}}
{f1:aa, f2: bb}
{index: {_id: 2}}
{f1:aa, f2: bb}
{index: {_id: 3}}
{f1:aa, f2: bb, f3: cc}有3条数据接着定义index alias
POST _aliases
{actions: [{add: {index: day_20200301,alias: day_data}}]
}查询 查出3条数据假定又过了一天到了20200302也生成对应的索引
POST day_20200302/_bulk
{index: {_id: 1}}
{f1:aa, f2: bb}只有一条数据再创建别名
POST _aliases
{actions: [{add: {index: day_20200302,alias: day_data}}]
}再基于别名查询 结果竟然是4条而不是1条这是因为一个别名可以指向多个索引如下图 当然我们可以通过remove来解除别名和某个索引的绑定如下解除day_data和day_20200301的绑定
POST _aliases
{actions: [{remove: {index: day_20200301,alias: day_data}}]
}在执行GET day_data/_count查询就是day_20200302这天生成的1条数据了
写在后面
参考文章列表
ElasticSearch之找到乔丹的空中大灌篮电影 。
Elasticsearch-Alias别名的2个核心场景 。