【问题标题】:Elasticsearch reindex does the old data stay in destinationElasticsearch 重新索引旧数据是否保留在目的地
【发布时间】:2017-12-21 16:25:48
【问题描述】:

我对 Elasticsearch 重新索引 API 有疑问。在我启动重新索引后,目标索引中的现有文档是否会被删除,或者它们会保留下来并且只添加新文档?

【问题讨论】:

    标签: elasticsearch


    【解决方案1】:

    默认情况下,重新索引操作将覆盖目标索引中已存在且具有相同 ID 的所有文档。

    如果您想防止这种情况发生,您可以使用op_type: create 设置,以便仅在目标索引中添加缺失的文档。

    {
      "conflicts": "proceed",
      "source": {
        "index": "my_old_index"
      },
      "dest": {
        "index": "my_new_index",
        "op_type": "create"            <--- add this
      }
    }
    

    【讨论】:

    • 1 将保留,2 将被源索引中该文档的任何版本覆盖(除非指定 op_type: create),并且将创建 3
    • 如果我在目标索引中有 ID 为 1 和 2 的文档,然后我重新索引 ID 为 2 和 3 的文档。那么 ID 为 1 的文档会保留吗?不会删了吧?
    • 是的,没错,文档 1 将保留。很酷,很高兴它有帮助!
    猜你喜欢
    • 1970-01-01
    • 2014-02-10
    • 1970-01-01
    • 2013-06-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多