我正在尝试实现某种迁移以映射更改。所以我的问题是我想使用reindex如果由于某种原因我的新映射不适用于我当前的数据(例如类型已更改)。如果已删除某个字段,请执行以下操作:
此类型的动态映射设置为false,因此我认为当使用新映射将数据重新索引到新索引时,将忽略删除的字段。所以我的问题是该字段只是被复制到新索引中,尽管没有为此索引定义映射。如文档(https://www.elastic.co/guide/en/elasticsearch/reference/5.2/dynamic.html)中所述,我认为没有任何映射的字段将被忽略。
另一方面,设置为strict的动态映射会失败。
我错过了什么或有更好的方法吗?
答案 0 :(得分:0)
您可以采取其他方式,指定您为其定义映射的源中的字段。
POST _reindex
{
"source": {
"index": "old index",
"_source": ["field1", "field2","field3"]
},
"dest": {
"index": "new index"
}
}