当我更改Stemmer时,我应该在Elasticsearch中重新索引文档吗?

时间:2014-10-08 16:09:09

标签: search indexing lucene elasticsearch stemming

我使用Elasticsearch索引我的文档(虽然我相信我的问题可以应用于任何其他搜索引擎,例如Lucene或Solr)。

我在索引时使用Porter词干分析器和停用词列表。我知道我应该在搜索时应用相同的词干分析器并停止删除单词以获得正确的结果。

我的问题是,如果我决定更改我的词干分析器或在停用词列表中添加/删除几个单词,该怎么办? 我应该重新索引所有文档(或所有文本字段)以应用更改吗?或者还有其他方法来处理这种情况吗?

1 个答案:

答案 0 :(得分:1)

是的,如果您需要更改显示器,则必须重新索引文档。如果不这样做,更改只会影响查询分析。您可以通过更改StopFilter来避免更改,但在更改限制器时则不行。重新索引是将新分析规则应用于索引数据的唯一方法,无论是通过转储整个事物并从头开始重建索引,还是通过更新文档来重新索引。

就其他方法而言,如果您不想重新编制索引,则无法将分析更改限制为查询时间,这限制了您可以大幅度执行的操作(您可以使SynonymFilter工作,但是对词干分子的改变肯定是出局的。)