摘要: 在Solr中,频繁的提交操作commit与优化操作optimize,会影响Solr的搜索效果。
commit
提交到Solr的添加、更新、删除操作只有在commit()方法被调用以后才生效。一般来说,不建议每次这样的操作都之后都直接调用commit()。添加的数据没有commit()不能被搜索到。建议每天调用几次commit()可。
optimize
optimize()是为了提高搜索效率,调用该方法后索引将重建,此时需要两倍索引大小的磁盘空间。不调用optimize()不影响搜索的正确性。建议每天只调用一次optimize()。
autoCommit
可以根据自己的业务特点,使用自动提交。只需要在solrconfig.xml
增加如下配置:
<autoCommit>
<maxDocs>10000</maxDocs> <!-- 一旦超过10000个文档未提交,便自动提交-->
<maxTime>3600000</maxTime> <!-- 每一个小时提交一次-->
</autoCommit>