为了使索引保持最新,我需要每5分钟添加/修改一次搜索索引。我设置的方式是使用2个索引,一个位于Full目录中,另一个位于增量目录中,并使用MultiSearcher搜索它们。Lucene.Net使用MultiSearcher时维护索引
我现在正在编写一个过程来维护索引。我正在做的是将最后一个索引日期传递给存储过程,并且数据库根据数据库中的“UpdatedOn”字段返回所有新的/已修改的记录。然后,我循环遍历2个目录,为每个目录打开一个IndexReader并根据主键的TermQuery删除文档。然后,我使用IndexWriter将记录添加到增量索引并对其进行优化。
当我做后续搜索时发生了什么,虽然我知道在索引中的记录没有被返回。
我在做索引维护是否错误?
是的,我在每次搜索后关闭IndexSearcher。 – druta 2009-10-14 14:37:29