【问题标题】:Change mapping property analyzer in Elasticsearch 5Elasticsearch 5 中的更改映射属性分析器
【发布时间】:2023-04-11 02:39:01
【问题描述】:

我在 ES 上已使用映射创建了一个索引。

我需要更改属性分析器以使用新的分析器。我能够将新分析器添加到索引中,但是在尝试更新映射属性以使用新分析器时出现异常。

我的代码:

var closeIndexResult = client.CloseIndex("index");     

 var result = client.Map<MyEntity>(m => m.Properties(prop =>
     prop.Text(t => t.Name(n => n.FirstName).Analyzer("myNewAnalizer"))
 ));

 Result here is not successful...

我正在使用 ES 5 和 Nest。

有没有办法更新我当前的属性数据以使用新的分析器,而无需重新索引我的所有数据?

【问题讨论】:

    标签: c# elasticsearch nest


    【解决方案1】:

    没有。映射决定了数据的索引方式,这意味着对它的任何更改都会使当前索引与映射定义不一致

    虽然您可以向索引添加新类型或向类型添加新字段,但您无法添加新分析器或更改现有字段。如果您这样做,已编入索引的数据将不正确,您的搜索将不再按预期工作。

    当您需要更改现有字段时,您应该考虑使用 Reindex API 重新索引您的数据

    https://www.elastic.co/guide/en/elasticsearch/client/net-api/master/writing-analyzers.html

    【讨论】:

      猜你喜欢
      • 2013-04-15
      • 2014-01-26
      • 1970-01-01
      • 1970-01-01
      • 2015-12-03
      • 2021-11-04
      • 1970-01-01
      • 1970-01-01
      • 2020-04-20
      相关资源
      最近更新 更多