使用Lucene的MultiSearcher类的优点和缺点

Ste*_*man 5 lucene lucene.net

我正在使用Lucene搜索API来处理.net Web应用程序.我可以知道使用MultiSearcher的优缺点吗?我应该在什么场景下使用它?

谢谢阅读!

eri*_*son 4

其主要缺点MultiSearcher是将多个搜索器的结果合并为一组命中会产生一些开销。这与您在未优化的索引中遇到的惩罚类似,尽管可能没有那么严重 - 这取决于涉及的搜索者数量。

但是,MultiSearcher如果您有大量文档或需要频繁更新,则这会非常有用。如果您有一个巨大的数据库,它允许您将文档分成几组,以便在不同的计算机上并行索引,然后一起搜索。如果您需要频繁更新,您可能会发现MultiSearcher具有一个文件系统目录和一个 RAM 目录的目录可以为您提供快速索引更新。新文档进入 RAM 目录,并且定期将 RAM 目录的内容合并到文件系统目录中。

还考虑一下ParallelMultiSearcher。根据您的机器架构和查询负载,这可能会造成伤害或有所帮助。如果您有很多核心,它可能会有所帮助,但是线程会涉及额外的开销,因此需要在代表性负载下进行一些分析。