1

Solr 版本:7.1.0

我对 solrconfig.xml 所做的更改:

按照此处的建议,使用 TolerantUpdateProcessorFactory 添加了 updateRequestProcessorChain

<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"
    ]
  }
}

发布请求:
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。

4

1 回答 1

1

当您在 SolrCloud 模式下运行时,所有配置都存储在 Zookeeper 中,而不是 Solr 目录本身(因此您正在编辑的配置集文件不会被使用,除非创建新集合时)。

参考指南有一节使用 Zookeeper 管理配置文件,供您将来参考。

在您的情况下,您必须首先使用下载当前活动的配置

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 基础设施消失)。

于 2019-03-14T09:42:27.307 回答