我已经建立了一个大约 50M 文档的索引(这些文档很短)。我还有大约 1M 的查询要在索引上运行。按顺序选择一个查询并在索引上运行它很简单,但速度很慢。
我试图并行化搜索(仍然很慢)并在已经在 RAM 中的索引上运行多个搜索器。它仍然没有提高性能,所以我想知道 Lucene 是否支持并行搜索,或者考虑到索引在内存中是否有一种有效的方法。
我已经建立了一个大约 50M 文档的索引(这些文档很短)。我还有大约 1M 的查询要在索引上运行。按顺序选择一个查询并在索引上运行它很简单,但速度很慢。
我试图并行化搜索(仍然很慢)并在已经在 RAM 中的索引上运行多个搜索器。它仍然没有提高性能,所以我想知道 Lucene 是否支持并行搜索,或者考虑到索引在内存中是否有一种有效的方法。
你怎么知道你的索引在 RAM 中?你在用Lucene’s MMapDirectory
吗?
另外,你IndexReader
用readOnly=true
?
顺便说一句,避免使用RAMDirectory
它会给你的 GC 带来沉重的负担。