【发布时间】:2016-04-18 15:50:08
【问题描述】:
我们在搜索和插入方面使用 Lucene.Net 3.0.3 进行了一些测试。
在测试中,我们使用了基于真实英语单词的关键字分析器和文本生成器。
当索引达到大约 800 万个文档时,在搜索 1000 个随机句子时,搜索需要 25 分钟才能完成。 (默认排序)
如果我们将搜索更改为文档排序:
searcher.Search(query, null, int.MaxValue, new Sort(new SortField(null, SortField.DOC, true))); // boolean query
搜索只需几秒钟即可完成。
什么给了? 是基于相关性的默认排序吗?为什么会产生如此巨大的影响?
此外,如果我们将点击次数从 int.MaxValue 减少到 50 次,它也会将搜索时间减少到几秒钟。
是否只选取它在索引中找到的前 50 个命中而忽略其余的?
【问题讨论】:
标签: sorting lucene performance-testing lucene.net