如何优化solr指数

12 java lucene optimization solr java-ee

如何优化solr指数.我想优化我的solr索引,我尝试在solrconfig.xml中更改它已被索引但我想如何验证它们是否已经过优化以及哪些内容涉及索引优化.

spi*_*ier 15

我发现这是优化Solr索引的最简单方法.在我的上下文中,"优化"意味着合并所有索引段.

curl http://localhost:8983/solr/<core_name>/update -F stream.body=' <optimize />'
Run Code Online (Sandbox Code Playgroud)

  • 但执行此命令后,这不会返回任何状态.我没有看到我的管理页面有任何变化.cmd卡住了 (2认同)

Ram*_*eez 14

在开始之前检查相应核心的大小.

开放1号航站楼:

watch -n 10 "du -sh /path to core/data/*"
Run Code Online (Sandbox Code Playgroud)

打开终端2并执行:

curl http://hostname:8980/solr/<core>/update?optimize=true
Run Code Online (Sandbox Code Playgroud)

而不是"核心",更新您的核心名称.

您可以看到核心的大小将逐渐增加,大约是索引数据大小的两倍,并且会突然减少.这需要时间取决于您的solr数据.

例如,50G索引数据峰值接近90G,下降到优化的25G数据.通常这个数据量需要30-45分钟.

当我删除文档时,为什么我的索引目录不会(立即)变小?合并?优化?


Sum*_*and 6

您需要传递optimize=true更新solr请求以优化solr.

HTTP:// [主机名]:[端口]/solr的/更新优化=真?


The*_*ndr 3

有多种方法可以优化索引。您可以触发 solr 基本脚本之一: http://wiki.apache.org/solr/SolrOperationsTools#optimize

您还可以optimize=true在(完全)导入或添加新数据时进行设置。...或者简单地触发提交optimize=true

也许这对您的需求也很有趣: http://wiki.apache.org/solr/UpdateXmlMessages#A.22commit.22_and_.22optimize.22