在 运行 系统上升级 solr 模式的正确方法是什么?
What is correct means of upgrading a solr schema on running system?
我们通过 docker 图像在生产中使用 Solr 7 和 运行。当我收到以下错误时,我正在阅读 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然后依次重启的情况?
您可以使用在 solrconfig.xml 中定义的托管架构 (ManagedIndexSchemaFactory) 或经典 schema.xml (ClassicIndexSchemaFactory)。 schema.xml 不允许通过 API 更改架构。另外如果使用
ManagedIndexSchemaFactory 检查子标签名称="mutable" 是否为假,如果是则禁用更改。如果您使用的是 SolrCloud 和最新版本的 Solr,建议使用托管架构。
我们通过 docker 图像在生产中使用 Solr 7 和 运行。当我收到以下错误时,我正在阅读 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然后依次重启的情况?
您可以使用在 solrconfig.xml 中定义的托管架构 (ManagedIndexSchemaFactory) 或经典 schema.xml (ClassicIndexSchemaFactory)。 schema.xml 不允许通过 API 更改架构。另外如果使用 ManagedIndexSchemaFactory 检查子标签名称="mutable" 是否为假,如果是则禁用更改。如果您使用的是 SolrCloud 和最新版本的 Solr,建议使用托管架构。