2013-01-07 41 views
0

我们有一个50Gb的Lucene索引(机器上有4GB RAM)。用一个词搜索需要100ms。有两个词--200ms,三个 - 300ms等。当条款数量增长时,Lucene正在变得越来越慢?

这是预期的性能下降还是我们做错了什么?

+0

你是什么意思搜索?这包括排序和检索结果吗? –

+0

我的意思是调用'org.apache.lucene.search.IndexSearcher#search(query,collector)'。当查询包含更多条款时,此特定查询需要更长的时间 – yegor256

+1

搜索* k查询*不同术语涉及获取与它们对应的* k *发布列表,然后计算这些列表的联合。时间的线性增长不应该令人惊讶。 –

回答

3

在搜索的ķ不同术语的查询包括提取对应于它们,然后计算这些的结合的ķ贴子列表。一般来说,这将需要线性时间的条款数量。