完全取代现有Lucene索引的好习惯是什么?

时间:2015-12-01 08:46:16

标签: lucene information-retrieval master-slave

我们使用Lucene作为搜索引擎。我们的Lucene索引由主服务器创建,然后部署到从属实例。

此部署目前由删除文件的脚本完成,并复制新文件。

我们需要知道是否有任何良好的做法来对Lucene索引进行“热部署”。我们需要停止或暂停Lucene吗?我们是否需要通知Lucene索引已经改变了?

由于

1 个答案:

答案 0 :(得分:0)

第一步是以追加模式打开索引进行写入。您可以通过使用名为IndexWriterConfig.OpenMode.CREATE_OR_APPEND的打开模式调用IndexWriter来实现此目的。

完成此操作后,您就可以更新现有文档并添加新文档。要更新文档,您需要为文档提供某种唯一标识符(可以是URL或其他保证唯一的标识符)。现在,如果您要更新ID为“Doc001”的文档,只需调用Lucene的 updateDocument 函数,将“Doc001”作为 Term (第一个)参数。< / p>

通过这种方式,您可以更新现有索引而不删除它。