【问题标题】:Deleting a template after indexing documents索引文档后删除模板
【发布时间】:2019-08-28 04:58:48
【问题描述】:

我有一个弹性搜索索引,它是使用模板创建的。我正在考虑停止使用模板并使用 NEST 转换为类中的属性。

是否可以从服务器中删除模板并继续在同一索引中索引文档?

我知道索引与启动的模板相关联,如果删除模板后续文档将通过属性遵守新规则,则不确定在哪里可以找到信息。

【问题讨论】:

    标签: c# elasticsearch nest aws-elasticsearch


    【解决方案1】:

    是的,完成后删除模板即可。但你为什么要删除它?索引模板可以保留在那里并应用于基于index_patterns 的索引,因此它不会影响任何其他索引架构。

    " 我正在考虑停止使用模板并转换为 使用 NEST 的类中的属性"

    我认为您不应该停止使用索引模板。它更易于维护和定义分析器、同义词等。

    此外,索引模板仅在创建索引以定义架构时应用。这是note from the documentation

    模板仅在创建索引时应用。更改模板 不会对现有指数产生影响。使用创建索引时 API,定义为创建索引调用的一部分的设置/映射 将优先于定义的任何匹配设置/映射 模板。

    【讨论】:

    • 好的,我明白了这一点,这是我最初的想法,因此我使用了模板。也许这是一个单独的问题,但现在对于某些文档,我使用一个常量索引,例如users-all ,因此它是使用部署的模板创建的,我如何处理架构更改以及将新模板应用于已创建的索引?
    • 您不能更改已索引数据的现有字段映射。但是,如果有变化。更新现有索引模板并将所有现有数据重新索引到新索引以应用更改的新映射。要保持搜索端点不变,您可以使用不变的别名。因此,当您重新索引时,对索引名称的任何更改都无关紧要。希望这是有道理的。
    • 我将创建一个新问题,以便其他开发人员也可以在 SO 中使用它,并详细说明如何执行此操作的主题。谢谢。
    猜你喜欢
    • 2016-06-08
    • 1970-01-01
    • 2016-08-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-05-05
    • 2017-05-14
    • 1970-01-01
    相关资源
    最近更新 更多