我有一个.net windows服务,它每晚生成Lucene搜索索引。我首先从数据库中获取所有记录,并使用IndexWriter的AddDocument方法将其添加到Lucene index中,然后在从该方法返回之前调用Optimize方法。由于获取的记录非常大,索引大约需要2-3分钟才能完成。正如你已经知道的,Lucene在生成索引时会生成中间段文件,当调用Optimize时,它会将整个索引压缩成3个文件。
有没有什么我可以知道的,这个索引生成过程是由Lucene完成的,索引可用于搜索?我需要知道这一点,因为我想在进程完成时调用另一个方法。
发布于 2009-06-23 18:52:31
发布于 2009-06-27 00:42:38
我不明白为什么你需要知道Lucene什么时候完成索引。你可以在Lucene建立索引时执行搜索。事实上,我认为你可以在优化的时候进行搜索。
我个人不喜欢搜索锁文件的想法。可以不设置布尔值并在调用writer.optimize()后切换它吗?
https://stackoverflow.com/questions/1034404
复制相似问题