Solr7 使用旧 schema.xml

Solr7 using old schema.xml

我们使用 3 个节点和 3 个 Solr 7 实例设置外部 Zookeper。

我正在尝试使用我使用 Solr 4 创建的旧项目中的 schema.xml 文件。

我按照以下步骤操作:

  1. managed-schema 文件重命名为 schema.xml

  2. 修改solrconfig.xml替换schemaFactoryclass.

    一个。删除任何 ManagedIndexSchemaFactory 定义(如果存在)。

    b。添加一个ClassicIndexSchemaFactory

使用upconfig上传配置

sudo ./zkcli.sh -cmd upconfig -confdir /home/pc2/Desktop/solrconfig/conf-readData -confname readData -zkhost 192.168.1.120:2181,192.168.1.100:2181,192.168.1.105:2181

sudo ./zkcli.sh -cmd linkconfig -collection readData -confname readData -zkhost 192.168.1.120:2181,192.168.1.100:2181,192.168.1.105:2181

curl 'http://192.168.1.85:8983/solr/admin/collections?action=CREATE&name=readData&numShards=3&replicationFactor=3&maxShardsPerNode=3'

当我从 Solr 管理员检查 readData 的模式时,它没有显示我在 schema.xml 中提到的字段。

创建的字段有 _root__text__version_ 和更多动态字段。

我错过了什么?

我看到你做的有两个问题:

  1. 创建集合时缺少 collection.configName 参数。

  2. 您必须先创建集合,然后 link 配置。

linkconfig 在您想要用新配置更改当前配置时很有用,但您必须在创建新集合时指定 collection.configName 参数,或者另一方面, _default 使用集合配置。

这也解释了为什么您只看到 _root_version_text_ 等。这些是 _default 集合配置中配置的默认字段。

我建议按以下方式创建集合:

curl "http://192.168.1.85:8983/solr/admin/collections?action=CREATE&name=readData&collection.configName=readData&numShards=3&replicationFactor=3&maxShardsPerNode=3"

或者使用 Solr 管理控制台。