【问题标题】:What is the state of my destination index after ElasticSearch's reindexing api completes?在 ElasticSearch 的重新索引 api 完成后,我的目标索引的状态是什么?
【发布时间】:2018-12-19 09:40:22
【问题描述】:

我需要更改一个相当大的索引中的映射,因此我创建了一个具有良好映射的新索引,并且我正在使用重新索引 api 将数据从旧索引移动到新索引。这个过程将持续大约 18 个小时,那么我的目标索引会是什么样子?命令启动时的源索引,或者它是否足够聪明,可以在命令完成时赶上我的源索引?

如果答案是前者(任务开始时源的状态),是否有一种简单的方法可以让它获取在任务运行的 18 小时内创建的所有内容?

【问题讨论】:

    标签: elasticsearch elasticsearch-5


    【解决方案1】:

    唯一确定的方法是在重新索引完成之前停止写入源索引。顺便说一句,18 小时听起来很多,为什么要花这么长时间?如果您的源索引和目标索引具有相同数量的分片,您可以尝试拍摄源索引的快照并使用 rename_pattern 和 rename_replacement 选项将其还原到目标索引,如here 所述。快照和恢复应该比 18 小时快很多

    【讨论】:

    • 感谢您的链接。尽管在阅读后我并不完全清楚映射是否可以被覆盖。进行此操作的主要原因是我需要更改映射,因为某些数据在应该是关键字时以文本形式写入。这需要 18 个小时,因为我们在每条记录中放入了太多数据,总共有 6000 万条。
    • @Mike 您的分片配置在源索引和目标索引之间是否不同?
    • 唯一的区别是映射。我不得不将一些文本元素更改为关键字。
    • 在这种情况下,您应该可以进行快照和恢复
    • 很高兴知道。我一定会考虑这样做
    猜你喜欢
    • 1970-01-01
    • 2013-02-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多