Solr7使用旧的schema.xml

时间:2018-05-07 06:15:40

标签: solr apache-zookeeper solrcloud

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

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

我遵循以下步骤:

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

  2. 修改solrconfig.xml以替换schemaFactory类。

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

    湾添加ClassicIndexSchemaFactory

  3. 使用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 admin检查readData的架构时,它没有显示我在schema.xml中提到的字段。

    创建的字段包括_root__text__version_以及更多动态字段。

    我缺少什么?

    • Solr版本:7.3.0

    • Zookeper版本:3.4.12

1 个答案:

答案 0 :(得分:0)

我看到你做的2个问题:

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

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

  3. 当您想要使用新配置更改当前配置时,

    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管理控制台。