2016-07-10 142 views
0

我正在研究一个索引大量小文档的产品。
当启动Solr时,它会在20分钟左右提供35k/sec的索引速率,然后在一段时间后开始减速到24k/sec。
如果我重新启动服务器,服务器将再次索引35k /秒20分钟,然后再次减速。
我每5秒钟有一次softCommit,每分钟都有一次硬性承诺。
我想知道是否有人可能对此有所了解?
我不认为它与合并有关,因为我看到合并线程在2-3分钟后踢入。Solr索引放缓

回答

1

你应该检查秋后算账:

  1. 没有您的Java(或任何一种语言,你使用的)应用程序,您正在使用索引的问题。如果是这种情况,请说明实施细节,我会提供更多的指导方针;
  2. 你是NRT缓存在20分钟后填满,硬性承诺不会很快发生。为了检查这个选项,请在以下列方式将文档从缓存写入磁盘之前设置要索引的最大文档数:<autoCommit> <maxDocs>10000</maxDocs></autoCommit>如果出现此问题,则可以调整自动提交或NRT缓存管理。
+0

谢谢,但索引问题不是问题,我已经添加了更多关于autoCommit的信息,它也排除了这一点。 @ AR1 –

+0

我明白了。为什么你经常这么努力?我建议每增加一个文档最大数量,每次增加一个硬性提交,比如说10分钟,这样您可以在需要时重新加载搜索器。我仍然认为调整你的限制可以解决你的问题。如果增加部署Solr的计算机上的堆,会发生什么情况?我会认为20分钟的时间会增加。 – AR1

+0

这是一个实时系统,所以我需要在他们到达的几秒钟内显示抵达的文档。我可以减少硬性提交,但它会每5秒钟提供一次软性提交吗? 我正在运行14GB堆,所以内存不是问题在这里(我认为)@ AR1 –