我很快就会将我的网站上传到VPS。这是一个分类广告网站,它使用与MySql集成的 Solr 。
每当放置或删除新的分类时,Solr都会更新。
我需要一种方法让commit()
和optimize()
自动化,例如每3小时左右一次。
我该怎么做? (详情请) 什么时候理想的优化?
由于
答案 0 :(得分:9)
您可以设置一个cron任务,定期执行对Solr REST接口的远程调用,例如:
curl 'http://<SOLR_INSTANCE_URL>/update?optimize=true'
查找有关更新Solr索引here的更多信息。
提交可能是一项昂贵的操作 所以最好做一些改变 批处理中的索引然后发送 最后提交命令。有 还有一个优化命令 与提交相同的事情,除了 将所有索引段合并为一个 单段,使其更快 搜索并导致任何删除 要删除的文件。
<强>更新强>
此外,可以在solrconfig.xml中启用自动提交功能(在UpdateHandler
部分内):
<autoCommit>
<maxDocs>10000</maxDocs> <!-- maximum uncommited docs before autocommit triggered -->
<maxTime>86000</maxTime> <!-- maximum time (in MS) after adding a doc before an autocommit is triggered -->
</autoCommit>