如何优化solr指数
如何优化solr指数。 我想优化我的solr索引,我尝试在solrconfig.xml中更改它被索引,但我想知道如何validation它们是否已经过优化以及索引优化涉及哪些内容。
我发现这是优化Solr索引的最简单方法。 在我的上下文中,“优化”意味着合并所有索引段。
curl http://localhost:8983/solr//update -F stream.body=' '
在开始之前检查相应核心的大小。
开放1号航站楼:
watch -n 10 "du -sh /path to core/data/*"
打开终端2并执行:
curl http://hostname:8980/solr//update?optimize=true
而不是“核心”,更新您的核心名称。
您可以看到核心的大小将逐渐增加,大约是索引数据大小的两倍,并且会突然减少。 这需要时间取决于您的solr数据。
例如,50G索引数据峰值接近90G,下降到优化的25G数据。 通常这个数据量需要30-45分钟。
当我删除文档时,为什么我的索引目录不会(立即)变小? 合并? 优化?
您需要传递optimize=true
来更新solr请求以优化solr。
HTTP:// [主机名]:[端口] / solr的/更新优化=真?
有不同的方法来优化索引。 你可以触发一个solr基本脚本: http : //wiki.apache.org/solr/SolrOperationsTools#optimize
您还可以在(完全)导入或添加新数据时设置optimize=true
。 …或者只是使用optimize=true
触发提交
也许这对您的需求也很有趣: http : //wiki.apache.org/solr/UpdateXmlMessages#A.22commit.22_and_.22optimize.22
为了测试您做了多少更改,您只需编写自定义索引器并添加随机生成的内容。 添加大量文档(500.000或1.000.000)并测量所需的时间。
在上面分享的文章之后,我给自己做了一个自定义索引器,并且我管理员优化了将文档索引80%所花费的时间。