我是ElasticSearch的新手,所以如果我忽略了一些明显的/基本的东西,请原谅我。
我想更改分析器/标记器/过滤器的设置,然后将它们应用于现有索引。我能想到的唯一方法如下:
- 创建一个新的索引。
- 假设您要更改
posts
索引的设置,请创建posts-copy
索引。 - 将
posts
重新索引为posts-copy
。 - 删除
posts
。 - 重新创建
posts
索引,应用新设置。 - 将
posts-copy
重新索引为posts
。 - 删除
posts-copy
。
我用ElasticSearch的Ruby客户端尝试过这种方法,看起来很有效。但是,我不确定这种方法是否真的合适。我觉得它是相当多余的,可能有更有效的方法来应用新设置。
如果你能对这个问题提供一些线索,我将不胜感激。
1条答案
按热度按时间az31mfrm1#
这取决于您在
analyzers/tokenizers/filters
上进行的更改类型,如果您在现有字段上进行更改,则这些更改是破坏性更改,您必须使用新设置重新创建索引(如您所提到的),但如果您在索引中添加新字段,并为此创建新设置,则您不必重新创建索引,这称为增量更改。希望这个有用。