实际场景问题
索引变更
在实际应用场景中,我们会遇到以下情况:
- 需要修改原字段定义的类型
- 需要增加原字段的类型,或者新增类型
- 随着数据量变大,需要修改主分片数量
- 需要把数据从一个集群迁移到另外一个集群
以上场景,可以通过 _update_by_query
或 _reindex
解决相关问题
索引变更期间,数据访问问题
在实际生产环境,在索引发生变更时,需要保证索引可以正常访问。该问题可通过 _alias
解决
_update_by_query
在现有索引上重建,使用场景:
- 改变Mapping,新增子字段
DELETE blogs/
# 写入文档
PUT blogs/_doc/1
{
"content":"Hadoop is cool",
"keyword":"hadoop"
}
# 查看 Mapping
GET blogs/_mapping
# 修改 Mapping,增加子字段,使用英文分词器
PUT blogs/_mapping
{
"properties" : {
"content" : {
"type" : "text",
"fields" : {
"english" : {