Solr自动提交并自动优化?

时间:2010-05-07 09:44:24

标签: java php mysql database solr

我很快就会将我的网站上传到VPS。这是一个分类广告网站,它使用与MySql集成的 Solr

每当放置或删除新的分类时,Solr都会更新。

我需要一种方法让commit()optimize()自动化,例如每3小时左右一次。

我该怎么做? (详情请) 什么时候理想的优化?

由于

1 个答案:

答案 0 :(得分:9)

您可以设置一个cron任务,定期执行对Solr REST接口的远程调用,例如:

curl 'http://<SOLR_INSTANCE_URL>/update?optimize=true'

查找有关更新Solr索引here的更多信息。

引用Solr tutorial

  

提交可能是一项昂贵的操作   所以最好做一些改变   批处理中的索引然后发送   最后提交命令。有   还有一个优化命令   与提交相同的事情,除了   将所有索引段合并为一个   单段,使其更快   搜索并导致任何删除   要删除的文件。

<强>更新 此外,可以在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>