我正在从旧的SOLR升级到SOLR 6。在我的本地计算机上安装了版本6,并开始玩,看看我们的旧系统如何处理新的SOLR。
我有一个旧的系统,有时会在一个查询中使用很多布尔子句。是的,最好升级它以进行不同的查询,但目前这是不可行的。
我应该可以通过solrconfig.xml中的maxBooleanClauses
属性来改变布尔子句的最大数量,但是改变它没有效果。我给所有(2)个内核设置了相同的值(102400)。例外仍然是Caused by: org.apache.lucene.search.BooleanQuery$TooManyClauses: maxClauseCount is set to 1024
。
我尝试过的:
- 重新加载所有核心
- 卸载所有内核,然后重新加载
http://localhost:8983/solr/admin/cores?action=CREATE&name=Companies&instanceDir=C:\temp\solr\solr-6.0.0\server\solr\Companies
- 卸载所有核心,仅重新加载一个核心
浏览管理UI到Core Selector-〉name-〉Files-〉solrconfig.xml,显示正确的值(102400)。
有什么想法吗?谢谢!:)
2条答案
按热度按时间tjvv9vkg1#
将更改添加到solrConfig.xml后,重新启动solr服务器,这将反映您所做的更改。
eqfvzcg82#
在Solr 9中,您还需要全局更改值,为此,请打开您的
solr.xml
文件并更改条目<int name="maxBooleanClauses">${solr.max.booleanClauses:1024}</int> to <int name="maxBooleanClauses">50000</int>
,您还可以选择将行SOLR_OPTS="$SOLR_OPTS -Dsolr.max.booleanClauses=50000
添加到/etc/default/solr.in.sh
文件中替换50000为您想要的任何值,并确保此值也在核心
solrconfig.xml
配置中,但要小心使用大值,因为Solr性能可能会因太多布尔子句而崩溃。