任何人都知道为什么以及如何解决这个问题,因为我有一个非常繁忙的更新和搜索同时.
打开新搜索者时出错.
maxWarmingSearchers = 2超出限制,稍后再试
jcr*_*oll 17
根据Solr FAQ:"超出maxWarmingSearchers的限制= X"是什么意思?
如果你经常遇到这个错误,你可以(理论上)增加你的maxWarmingSearchers中的数量,但这是冒险的,除非你确信你有系统资源(RAM,CPU等)来安全地做到这一点.处理这种情况的更正确的方法是减少发送提交的频率.
这个错误意味着你基本上是经常提交,内部缓存无法跟上你说"清除缓存并让我用新数据搜索"的频率.您需要降低提交的频率.您可以在Near Realtime Search Tuning中找到有关此问题的更多信息,但基本思路是您使用的方面越多,提交之间所需的间隔就越大.
解决这个问题的一种方法是我停止进行手动提交(即让我的应用程序将数据提交给solr然后执行提交请求)并打开solr autocommit.
这是一个例子:
<!-- solrconfig.xml -->
<autoCommit>
<maxDocs>10000</maxDocs> <!-- maximum uncommited docs before autocommit triggered -->
<maxTime>15000</maxTime> <!-- maximum time (in MS) after adding a doc before an autocommit is triggered -->
<openSearcher>false</openSearcher> <!-- SOLR 4.0. Optionally don't open a searcher on hard commit. This is useful to minimize the size of transaction logs that keep track of uncommitted updates. -->
</autoCommit>
Run Code Online (Sandbox Code Playgroud)
你必须弄清楚你需要多大的间隔(即maxTime),但实际上每次我向我的应用程序添加更多的分面搜索(或更多的索引或你有什么)我必须增加间隔.
如果您需要比这些提交的频率更多的实时搜索,则可以查看Solr软提交.
| 归档时间: |
|
| 查看次数: |
28942 次 |
| 最近记录: |