【问题标题】:Lucene Parallel searchLucene 并行搜索
【发布时间】:2012-09-27 09:21:41
【问题描述】:

我已经建立了一个大约 50M 文档的索引(这些文档很短)。我还有大约 1M 的查询要在索引上运行。按顺序选择一个查询并在索引上运行它很简单,但速度很慢。

我尝试并行化搜索(仍然很慢),并在 RAM 中已经存在的索引上运行多个搜索器。它仍然没有提高性能,所以我想知道 Lucene 是否支持并行搜索,或者考虑到索引在内存中是否有一种有效的方法。

【问题讨论】:

  • 为什么要运行一百万次查询?如果您试图找到术语之间的相似性,那么还有其他方法可以做到这一点。这就是你在做的吗?
  • 没有。不是相似度。感谢您的评论。

标签: java search lucene executorservice


【解决方案1】:

您如何知道您的索引在 RAM 中?你在用Lucene’s MMapDirectory吗?

另外,你在打开IndexReader with readOnly=true吗?

顺便说一句,避免使用RAMDirectory,因为它是puts a heavy load on your GC

【讨论】:

    猜你喜欢
    • 2012-09-25
    • 2012-10-22
    • 1970-01-01
    • 2015-06-03
    • 2019-04-02
    • 2011-09-24
    • 2010-11-06
    • 2013-09-20
    • 1970-01-01
    相关资源
    最近更新 更多