在正在运行的系统上升级Solr模式的正确方法是什么?

时间:2018-08-21 16:44:15

标签: solr solrcloud

我们正在使用Solr 7,并通过docker映像在生产环境中运行。当我遇到以下错误时,我正在阅读https://lucene.apache.org/solr/guide/7_4/schema-api.html指南,以使用API​​并尝试将其添加到本地实例的现有架构中的新字段:

{
  "responseHeader":{
    "status":0,
    "QTime":9},
  "errors":[{"errorMessages":"schema is not editable"}]}

因此,我想知道在实时系统上更新架构的最佳实践方法是什么。是否在每个节点上编辑 schema.xml 并依次重新启动?

1 个答案:

答案 0 :(得分:2)

您可以使用在solrconfig.xml中定义的托管模式(ManagedIndexSchemaFactory)或经典schema.xml(ClassicIndexSchemaFactory)。 schema.xml不允许通过API更改架构。另外如果使用 ManagedIndexSchemaFactory检查子标记名=“ mutable”是否为false,如果是,则禁用更改。如果您使用的是SolrCloud和最新版本的Solr,则建议使用托管模式。