2009-06-05 83 views

回答

4

MultiSearcher的主要缺点是在将来自多个搜索者的结果合并到一组匹配中时存在一些开销。这与您未经优化的指数所遭受的惩罚相似,尽管可能并不严重—这取决于涉及多少搜索者。

但是,如果您有大量文档或需要频繁更新,则MultiSearcher可能非常有用。如果您有一个庞大的数据库,它可以让您将文档拆分为多个组,并行编入索引,然后一起搜索。如果您需要频繁更新,您可能会发现一个MultiSearcher具有一个文件系统目录,一个RAM目录可为您提供快速索引更新。新文档进入RAM目录,并定期将RAM目录的内容合并到文件系统目录中。

也请考虑ParallelMultiSearcher。根据您的机器体系结构和查询负载,这可能会受到伤害或帮助。如果你有很多内核,它可能会有所帮助,但是线程会涉及额外的开销,所以它需要在代表负载下进行一些分析。

+0

你能回答这个吗? http://stackoverflow.com/questions/899542/problem-using-same-instance-of-indexsearcher-for-multiple-requests – 2009-06-12 02:41:26