0

我正在使用 lucene4.2 并且有一个索引,其文档有超过 50 个字段。该索引包含大约 80 mio。文件,大小为 11.5 GB。每次查询超过 20 秒。像这样的东西:

//Query: +(id:[3000000000000000000 TO 9000000000000000000]) +(devId:2 devId:3)
long start = System.currentTimeMillis();
TopDocs topDocs = indexSearch.search(query,1000);
long end = System.currentTimeMillis();
logger.info(end - start);

当 JVM 堆大小小于 1024M 时会导致 OutOfMemoryError。我真的很困惑为什么它需要这么多的内存和时间。如何在 1 秒内完成搜索?

4

1 回答 1

0

你是如何创建文档字段的?你存储了所有字段吗?

可能是您存储的字段很大

于 2013-12-20T22:08:00.353 回答