Solr版本:7.1.0
我对solrconfig.xml所做的更改:
使用TolerantUpdateProcessorFactory添加了updateRequestProcessorChain,如建议的here
<updateRequestProcessorChain name="tolerant">
<processor class="solr.TolerantUpdateProcessorFactory">
<int name="maxErrors">10</int>
</processor>
<processor class="solr.RunUpdateProcessorFactory" />
</updateRequestProcessorChain>
错误:
{
"responseHeader": {
"status": 400,
"QTime": 1
},
"error": {
"msg": "unknown UpdateRequestProcessorChain: tolerant",
"code": 400,
"metadata": [
"error-class",
"org.apache.solr.common.SolrException",
"root-error-class",
"org.apache.solr.common.SolrException"
]
}
}
POST请求:
http://<solr-endpoint>/solr/<core-name>/update/json?update.chain=tolerant&maxErrors=3
solrconfig.xml位置:
/opt/solr-7.1.0/server/solr/configsets/_default/conf/solrconfig.xml
符号链接到/ opt / solr目录,这是Solr安装目录。
我已经尝试重新启动Solr($ sudo service solr restart
)并从Solr AdminUI重新加载内核但请求仍然给出了相同的错误,说明未知的UpdateRequestProcessorChain。
当您在SolrCloud模式下运行时,所有配置都存储在Zookeeper中,而不是存储在Solr目录本身内(因此,除非创建新集合,否则不会使用您正在编辑的配置集文件)。
参考指南有一个Using Zookeeper to manage configuration files部分,您可以将其用于将来参考。
在您的情况下,您必须首先使用下载当前活动的配置
bin/solr zk downconfig -n <name of config set> -d <path to directory>
并进行更改,然后使用将上次配置上传到Zookeeper
bin/solr zk upconfig -n <name for configset> -d <path to directory with configset>
建议您保留在git等版本控制系统中使用的实际配置,以保留配置的完整历史记录(..以及Zookeeper基础结构消失的情况)。