gpt4 book ai didi

elasticsearch - 对Elasticsearch索引采取什么措施将导致旧索引数据无法使用,需要重新索引?

转载 作者:行者123 更新时间:2023-12-02 23:07:31 25 4
gpt4 key购买 nike

我在ES官方文档中找不到信息。我用谷歌搜索这个问题,并得出一些可能不正确的结论。下面的操作将导致旧的索引数据不起作用,需要重新索引。

  • 更改文档字段的类型
  • 重命名文档的字段名称
  • 更改索引设置,例如分片号和副本号
  • 更改doc字段
  • 的分析器

    我们可以对索引执行许多操作。就像添加字段,添加分析器和另一个映射参数一样。是否有任何授权文档可以告诉我什么操作导致旧索引数据不起作用,需要重新索引。

    最佳答案

    这是一个非常好的问题,我同意没有适当的官方文档来解释所有用例,其中某些操作将需要重新索引数据或创建新索引,部分原因可能是其中一些是显而易见的,常见的,而另一些是由于缺乏良好的文档,并且在Stackoverflow,elastic discuss forum等不同的论坛上都有答案。
    无论如何,让我尝试在您的结论中添加一些解释,这在您列出的大多数情况下都是正确的:

  • 更改文档字段的类型

  • 是的,因为Elasticsearch以不同的方式索引/存储不同类型的字段,所以这需要 keyword字段不经过分析过程,而 text字段则通过标准分析器。认为它是 DDL of RDBMS
  • 重命名文档的字段名称

  • 同样,您正在更改字段名称,因此需要重建索引以反射(reflect)更改,否则您的索引和搜索请求将不起作用,这也是数据定义类型的更改。
  • 更改索引设置,例如分片和副本编号

  • 这不是完全正确,分片有两种类型(主分片和副本分片),更改主分片需要建立新索引,而副本分片可以动态更改(增加/减少)。 但是,如果要使用零停机时间来更改主碎片,则可以使用 this official link中提到的别名方法来执行此操作,不允许更改主碎片的原因是,基于此理由,您的数据被分割并存储,并且如果更改为此,您必须再次重新排列数据并更改哈希/路由机制,以了解哪个分片保留了数据,而副本分片只是副本,您可以一直增加/减少。
  • 更改doc字段
  • 的分析器

    同样,由于分析器控制如何为您的字段创建 token ,因此更改此意味着您必须根据ES反向索引中的新分析器再次重新索引以反射(reflect)正确的 token 。

    关于elasticsearch - 对Elasticsearch索引采取什么措施将导致旧索引数据无法使用,需要重新索引?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64117968/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com