Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/performance/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Performance Lucene和如何度量索引碎片_Performance_Lucene - Fatal编程技术网

Performance Lucene和如何度量索引碎片

Performance Lucene和如何度量索引碎片,performance,lucene,Performance,Lucene,我们使用的是Lucene 2.9.2(计划升级到3.x),众所周知,随着时间的推移,搜索查询变得越来越慢。通常我们执行完全重新索引。我已经阅读了这个问题及其答案,现在就回答它:我们不使用optimize(),因为在运行它时,性能不再是可接受的 碎片化? 我想知道以下几点:衡量现有索引碎片化的最佳实践是什么?你能帮我吗 如果能听到您对这个分析主题的想法,那将是非常有趣的 关于我们索引的更多信息: 我们已经索引了40万份文件 我们大量使用每个文档的属性 对于每个请求,我们创建一个新的searche

我们使用的是Lucene 2.9.2(计划升级到3.x),众所周知,随着时间的推移,搜索查询变得越来越慢。通常我们执行完全重新索引。我已经阅读了这个问题及其答案,现在就回答它:我们不使用optimize(),因为在运行它时,性能不再是可接受的

碎片化?

我想知道以下几点:衡量现有索引碎片化的最佳实践是什么?你能帮我吗

如果能听到您对这个分析主题的想法,那将是非常有趣的

关于我们索引的更多信息:

  • 我们已经索引了40万份文件
  • 我们大量使用每个文档的属性
  • 对于每个请求,我们创建一个新的searcher对象(因为我们希望更改立即出现在搜索结果中)
  • 查询性能介于30毫秒(重复相同的搜索)和10秒(复杂)之间
  • 索引由44个文件(15.del文件,24个cfs文件)组成,大小为1GB

旧版本的Lucene无法有效处理大量细分市场。这就是为什么有些人建议优化(将所有段合并在一起)以提高搜索性能

对于Lucene的最新版本来说,情况就不太一样了。实际上,optimize已经被重命名为听起来不那么神奇(你现在需要调用forceMerge(1)),而且总是合并片段甚至被认为是有害的(看看Lucene开发者Simon Willnauer的这一点)

对于每个请求,我们创建一个新的searcher对象

打开一个阅读器是非常昂贵的。您应该使用它来帮助您仅在必要时重新打开(增量打开)索引