我有一个带有ES存储库的应用程序,我需要在现有索引中添加一个新字段,该字段应该是not_analyzed。我尝试使用新字段发送文档并且它有效,但是该字段是在没有' not_analyze'的情况下添加的。
我无法手动创建或重新创建索引,因为它已经在生产中,每个客户都有自己的索引。
无论如何,我可以指明它应该是“未分析的”#39; ?
答案 0 :(得分:0)
当您已为该字段索引某些数据时为时已晚。 (https://www.elastic.co/guide/en/elasticsearch/guide/current/mapping-intro.html#updating-a-mapping)
变体:
1)使用正确的映射创建索引并重新索引数据(更容易使用具有reindex API的最新ES版本)生产不是问题,您可以使用别名切换来无缝迁移到新索引。
2)在现有索引中为 new 字段名称设置正确的映射,并在较新的文档中使用此新字段名称。
检查https://www.elastic.co/guide/en/elasticsearch/reference/current/mapping.html#_example_mapping有关更改索引的映射