将Lucene搜索API用于.net网络应用程序。 我可以知道使用MultiSearcher的利弊吗?我应该在什么场景下使用它?
感谢阅读!
答案 0 :(得分:4)
MultiSearcher
的主要缺点是将多个搜索者的结果合并到一组点击中会有一些开销。它类似于您对未经优化的索引所经历的惩罚,尽管可能不那么严重 - 这取决于涉及多少搜索者。
但是,如果您有大量文档或需要经常更新,MultiSearcher
会非常有用。如果您有一个庞大的数据库,它允许您将文档拆分为组,以便在不同的计算机上并行编制索引,然后一起搜索。如果您需要频繁更新,您可能会发现MultiSearcher
具有一个文件系统目录,一个RAM目录可以为您提供快速索引更新。新文档进入RAM目录,并定期将RAM目录的内容合并到文件系统目录中。
另请考虑ParallelMultiSearcher
。根据您的计算机体系结构和查询负载,这可能会有所帮助。如果您有许多内核,它可能会有所帮助,但是线程涉及额外的开销,因此需要在代表性负载下进行一些分析。