如何在索引期间复制id字段(elasticsearch)

时间:2020-10-04 08:55:45

标签: elasticsearch

将_id作为文档的一部分通常很有用。实际上,这里建议:https://www.elastic.co/guide/en/elasticsearch/reference/current/mapping-id-field.html

但是,如果您在创建文档之前不知道_id,在索引编制过程中如何复制_id?我能想到的唯一方法是使用管道,但是有更简单的方法吗?

编辑:根据下面的答案,即使管道也无法实现这一目标。

1 个答案:

答案 0 :(得分:2)

如果生成了_id,则接收管道(当前版本7.9.2)无法访问_id。 documentation中有一条注释:

如果自动生成文档ID,则不能在提取处理器中使用{{_id}}值。 Elasticsearch在提取后会分配自动生成的_id值。

自动生成时,copy_to功能也不适用于_id。 https://github.com/elastic/elasticsearch/issues/6730#issuecomment-103142553

此处隐藏了该信息

使用script_fields的{​​{1}}查询也被弃用。

在我看来,出于不同的原因,这就是我们许多人正在寻找的东西,但至少没有我知道的解决方案。

对于自己生成的文档ID,情况显然是完全不同的。