我将创建索引的程序做成了windows服务,定时自动为还没有创建索引的新闻创建索引,可是,在追加索引的过程中,却不能搜索了(无论搜什么都搜不到内容),请问有解决方案吗?
你用的是最新版本么?如果是,你是可以搜索已经索引的内容哪怕是正在索引中。
在索引中它会自动调用commit推送到当前的索引中去,当然你也可以自己主动调用只不过索引就慢了。
如果你是追加索引,没有dletleall()那么应该能索引到的,但是这个时候为了搜到新建的索引你的reader必须从writer.getreader()获取,否则是搜不到的。
关于你的问题:我认为可能是建索引中加了write.lock,而你无法再次打开造成的。
如果你不想深入了解lucene.net解决这类问题的黄金法则是建立备份索引用于切换,据我所知也是现在很流行的方式;
希望能帮到你,如果你还有问题可以站内短信我。
谢谢你的解答!
会不会是IO太繁忙了,导致搜索时超时了?