【发布时间】:2012-12-10 19:35:45
【问题描述】:
Lucene 的搜索 API 接收“hitsPerPage”参数。看起来它对搜索性能有重大影响。例如,我尝试将其从 100 减少到 10,结果发现搜索时间减少了两倍。
可以吗?为什么它会影响搜索性能?是不是说明有问题?
【问题讨论】:
-
Lucene 上的 hitsPerPage 参数到底在哪里?命中的数量并不重要,因为 Lucene 仍然需要对所有可能的匹配进行评分。除非您正在编写自己的收集器。匹配的数量应该会影响内存分配,如果您要为所有返回的文档加载存储的字段,则会减慢您的速度。
-
@GiliNachum 我用它来创建一个
Collector。你说的正是我的想法。 Lucene 处理 all 匹配,不管histPerPage,都按分数排序,所以不会影响搜索性能。 -
由于用于排序 docId/score 对的 PriorityQueue 的大小,它会影响内存分配。此外,如前所述,如果您检索存储的字段,它也会影响。
标签: performance lucene