Lucene:快速(呃)批量获取文档?

时间:2013-08-12 14:25:44

标签: lucene search-engine aggregate bulk

我尝试在Lucene上构建一些实时聚合作为实验的一部分。文档的值存储在索引中。这对于高达10K的文档非常有用。

对于大量文档,这有点慢。我认为在获取大量文档方面没有太多投入,因为这种方式会破坏搜索引擎的目的。

然而,能够做到这一点真的很酷。所以,基本上我的问题是:我能做些什么来更快地从Lucene获取文档?或者有更聪明的方法吗?

我已经只检索了我需要的字段。

[编辑] 索引相当大> 50GB。这不适合记忆。字段数不同,我有几种类型的文件。聚合主要发生在固定文件类型上;但是没有办法事先告诉哪一个。

1 个答案:

答案 0 :(得分:2)

你把索引放在内存中了吗?如果整个索引适合内存,那就是一个巨大的加速。

一旦你获得了点击率(即使是10k记录也能快速恢复),我会打开多个线程/阅读器来访问它们。

我做的另一件事是只在Lucene中存储一些属性(即不存储类中的50个属性)。通过获取ID列表并更快地从服务/数据库获取其他内容,您可以更快地获得更快的信息。