将_id作为文档的一部分通常很有用。实际上,这里建议:https://www.elastic.co/guide/en/elasticsearch/reference/current/mapping-id-field.html
但是,如果您在创建文档之前不知道_id,在索引编制过程中如何复制_id?我能想到的唯一方法是使用管道,但是有更简单的方法吗?
编辑:根据下面的答案,即使管道也无法实现这一目标。
答案 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,情况显然是完全不同的。