Elasticsearch:通过路径映射更新已设置为文档_id的字段

Elasticsearch: Updating a field that has been set as a document _id via mapping with a path

所以基本上我有一个我创建的索引,并设置了映射,以便无论何时创建文档,文档的 _id 都被设置为文档的字段之一。

http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/mapping-id-field.html

这很简单,但我注意到当我更新该字段(通过 Java API)时,文档的 _id 保持不变,因此该字段和 _id 不同步。

这是有意为之的行为吗?如果是这样,有人知道为什么吗?将 _id 设置为可能经常更改的字段是否是个坏主意?

如果我希望 _id 和字段同步,重建索引是一个选项吗?

谢谢

索引时从该字段中提取并复制 _id。 _id 也用作路由键,它决定文档在整个集群中的位置。 因此,不可能将 _id 保留为对某些字段的引用,而是在索引之前将其值复制到 _id。

如果你想改变 _id ,重新索引是唯一的选择。