我们使用Lucene作为搜索引擎。我们的Lucene索引由主服务器创建,然后部署到从属实例。
此部署目前由删除文件的脚本完成,并复制新文件。
我们需要知道是否有任何良好的做法来对Lucene索引进行“热部署”。我们需要停止或暂停Lucene吗?我们是否需要通知Lucene索引已经改变了?
由于
答案 0 :(得分:0)
第一步是以追加模式打开索引进行写入。您可以通过使用名为IndexWriterConfig.OpenMode.CREATE_OR_APPEND的打开模式调用IndexWriter来实现此目的。
完成此操作后,您就可以更新现有文档并添加新文档。要更新文档,您需要为文档提供某种唯一标识符(可以是URL或其他保证唯一的标识符)。现在,如果您要更新ID为“Doc001”的文档,只需调用Lucene的 updateDocument 函数,将“Doc001”作为 Term (第一个)参数。< / p>
通过这种方式,您可以更新现有索引而不删除它。