我希望能够在Lucene.Net中同时搜索多个客户端和索引
是否可以和线程安全?
可以跨线程共享同一个IndexSearcher实例吗?
答案 0 :(得分:5)
索引搜索CAN和应该在线程之间共享。
诀窍是决定何时使用索引的新快照刷新搜索者。
我写了一篇文章,展示了我如何编码跨线程共享搜索者,同时确保搜索者总是使用最新的索引。
我并不是说我的解决方案对所有人来说都是最好的 - 我认为这对于搜索量很大的网站来说并不好 - 但它对我的小批量应用程序来说效果很好。
这是文章:
http://ifdefined.com/blog/post/Full-Text-Search-in-ASPNET-using-LuceneNET.aspx
答案 1 :(得分:1)
是。Very much。
甚至索引都是!
答案 2 :(得分:0)
您可以同时进行索引和搜索,但在重新创建搜索器之前,搜索器将无法看到您对索引所做的更改。在创建搜索器对象时,Searcher将获得索引的快照。