【问题标题】:how to copy id field during indexing (elasticsearch)如何在索引期间复制 id 字段(elasticsearch)
【发布时间】:2020-10-05 11:23:48
【问题描述】:

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

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

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

【问题讨论】:

    标签: elasticsearch


    【解决方案1】:

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

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

    自动生成时,copy_to 功能也不适用于 _id。这个信息有点隐藏在这里https://github.com/elastic/elasticsearch/issues/6730#issuecomment-103142553

    script_fields使用doc['_id'].value的查询也被弃用了。

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-08-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-06-02
      • 2017-12-14
      • 1970-01-01
      相关资源
      最近更新 更多