2016-09-27 153 views
1

我试图将asciifolding过滤器添加到现有的elasticsearch索引,但查询结果与预期的一样。但是,当我将相同的程序应用于清洁指数时,它按预期工作。elasticsearch - 将asciifolding过滤器添加到现有集合

这是否意味着如果我添加一个过滤器,我必须以某种方式强制更新所有文档重新编制它们或什么?

+0

建立自己的reindex机制你的意思是说,他们不是你应用过滤器时的预期到现有的索引? – fylie

+0

是的,结果实际上很奇怪。 – speedingdeer

回答

1

无论何时添加过滤器,您都必须重新索引现有文档。 This使用Logstash重新索引Elasticsearch文档的指南将帮助您。实质上,您将输入现有的文档到Logstash中,添加您的过滤器,并将它们输出到新的索引中。

1

如果添加了过滤器/分析仪则现有文件不会受到影响(文件都在elasticsearch/Lucene的immutable)。这意味着只有新文档才会与新配置一起保存。

您可以应用您的新配置,然后重新索引任何现有数据。如果您使用的是2.3及更高版本,那么您可以使用reindex api。如果不是,那么你将不得不使用类似@pancake的建议,或者你可以使用scrollbulk apl

相关问题