gpt4 book ai didi

elasticsearch - 在Elasticsearch中更改设置的最佳解决方案

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

我已经索引了2个question:Elasticsearch中的FIRE_DETECTEDSMOKE:DETECTED 目标
我想用query = 'fire'搜索->结果:FIRE_DETECTEDquery = 'dectected'->结果:FIRE_DETECTEDSMOKE:DETECTED 一些解决方案

  • 在分析器中添加更多设置
  • 我们需要使用新设置(添加 token 过滤器:word_delimiter_graph)创建一个新索引
  • 重新索引
  • 问题:如何在不影响客户的情况下在生产中添加设置?
  • 在Elasticsearch中再添加1个字段filterd_question
  • :_分割数据
  • 将拆分的数据保存在此filterd_question字段
  • 问题:我们还需要1个字段

  • 最好的解决方案是什么? (如果需要,添加更多解决方案)

    最佳答案

    同样,在使用Elasticsearch时这确实是一个很好且非常常见的场景,并且随着需求不断变化,并且为了支持它们,我们必须更改在ES中索引数据的方式。
    您提到的两种方法都已被公司使用,并且它们都有自己的传球,因此您必须根据自己的要求选择一种方法。
    更改/添加分析仪将需要执行以下步骤才能使其工作:

  • 关闭索引
  • 添加/编辑分析器定义。
  • 打开索引
  • 重新索引所有文档(您应该使用index alias with zero down time有效地做到这一点,并将对最终用户的影响最小化)
  • 在第4步之后,您的新搜索将起作用。

  • 优点:它不会创建新字段,因此可以节省空间,因此可以更有效,更干净地进行此更改。
    缺点是,根据文档数量及其相对复杂的过程,重新索引可能会花费大量时间。
    添加自定义分析器,然后使用新添加的分析器添加新字段
    在这种情况下,除非您使用内置分析器,否则还需要关闭/打开索引,但是在这种情况下,您的新文档或正在更新的文档将具有新字段,因此根据新的分析器/逻辑进行搜索带来部分结果,但这可以根据您的用例而定。
    优点:相对简单的方法,在所有情况下都不需要完全重新索引。
    缺点:如果不使用旧字段并且复杂性会根据使用情况而有所不同,则会有额外的空间。

    关于elasticsearch - 在Elasticsearch中更改设置的最佳解决方案,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64130406/

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