ES中删除索引中某个字段
ES删除索引中的某个字段
·
ES中无法直接增删索引中的字段,只能能够覆盖,即重建新的索引
例:删除索引my_index中的source字段
- 先将source字段中的数据删除
否则后面reindex时,索引中会自动增加source字段和类型
POST my_index/_update_by_query
{
"script": {
"source": "ctx._source.remove(\"source\")",
"lang": "painless"
}
}
- 创建新的索引my_index_bak,该mapping中不包含source字段
- 数据迁移
POST _reindex
{
"source": {
"index": "my_index"
},
"dest": {
"index": "my_index_bak"
}
}
- 删除原来的索引
delete /my_index
- 再重新创建索引名为my_index的新索引
mapping中不包含要删除的字段source - 数据迁移
POST _reindex
{
"source": {
"index": "my_index_bak"
},
"dest": {
"index": "my_index"
}
}
- 删除旧索引
delete /my_index_bak
更多推荐
已为社区贡献1条内容
所有评论(0)