我们使用的是Lucene 2.9.2(计划升级到 3.x),众所周知,搜索查询会随着时间的推移而变慢。通常我们会执行完整的重新索引。我已阅读问题https://stackoverflow.com/a/668453/356815及其答案并立即回答:我们不使用 optimize() 因为运行时性能不再可接受。
碎片化?
我想知道以下几点:衡量现有索引碎片的最佳实践是什么?卢克能帮我吗?
听听您对这个分析主题的看法会很有趣。
关于我们的索引的更多信息:
- 我们已经索引了 400,000 个文档
- 我们大量使用每个文档的属性
- 对于每个请求,我们都会创建一个新的搜索器对象(因为我们希望更改立即出现在搜索结果中)
- 查询性能介于 30 毫秒(重复相同的搜索)和 10 秒(复杂)之间
- 该索引由 44 个文件(15 个 .del 文件,24 个 cfs 文件)组成,大小为 1GB