2014-10-08 34 views
0

我使用Elasticsearch來索引我的文檔(儘管我相信我的問題也可以應用於任何其他搜索引擎,例如Lucene或Solr)。當我更改Stemmer時,我應該在Elasticsearch中重新索引文檔嗎?

我正在使用Porter詞幹和索引時停用詞的列表。我知道我應該在搜索時應用相同的詞幹分析器並停止詞語移除以獲得正確的結果。

我的問題是,如果我決定改變我的詞幹或添加/從停用詞表中刪除/刪除單詞的話? 我應該重新編制所有文檔(或所有文本字段)以應用更改嗎?還是有其他方法來處理這種情況?

回答

1

是的,如果您需要顯着改變分析儀,您必須重新索引您的文檔。如果您不這樣做,更改只會影響查詢分析。你可以通過修改StopFilter來避免這種情況發生,但是在更改詞幹分析器時不能這樣做。 Reindexing是將新的分析規則應用於索引數據的唯一方式,無論是通過傾銷整個事物並從頭開始重建索引或更新文檔來進行重新索引。

就其他方法而言,如果您不想重新編制索引,則會阻止將分析更改限制爲查詢時間,這限制了您可以大幅度地執行的操作(可以使用SynonymFilter工作,但同樣,造詞者絕對不在)。

相關問題