Solr全进口性能

时间:2013-03-27 06:15:42

标签: solr solr4

我有一小组查询和实体,即使性能非常差,我只是想知道我可以做些什么技巧和配置来提高性能?

注意我正在使用Solr 4.1。

1 个答案:

答案 0 :(得分:6)

您应该尝试在导入期间最小化提交次数。即使您在向Solr添加文档时没有定期提交,Solr也会根据solrconfig.xml autoCommit设置进行自动提交:

<autoCommit>
   <maxDocs>10000</maxDocs>
   <maxTime>15000</maxTime>
   <openSearcher>false</openSearcher>
</autoCommit>

同时增加maxDocsmaxTime,看看你是否获得更好的速度。 (maxTime以毫秒为单位,因此默认设置仅为15秒,对于批量导入而言非常低。)

您甚至可以在批量导入期间尝试禁用自动提交,并在添加所有文档后发出一个提交命令。如果这不会导致Solr出现内存不足的异常,那么这是您可以获得的最佳速度。

如果您正在进行RDBMS导入,那么我建议使用JOIN尽可能多地捕获字段并最小化子实体的数量,因为每个子实体都会打开与DB的单独连接。由于您是从mongo导入的,因此不适用于您。您可以通过创建包含Solr所需的所有数据的新mongo集合进行试验,在数据导入器中保留单个实体,并查看它是否提高了导入速度。