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 ,重新索引是唯一的选择。
所以基本上我有一个我创建的索引,并设置了映射,以便无论何时创建文档,文档的 _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 ,重新索引是唯一的选择。