Solr创建核心报错:schema中设置defaultSearchField自Solr7起不被支持
解决Solr创建核心时
defaultSearchField不支持的报错 问题原因
Solr 7及后续版本已废弃在schema.xml中配置defaultSearchField的方式,转而使用查询参数df或在solrconfig.xml中定义默认搜索字段。CKAN提供的旧版schema.xml保留了该废弃配置,导致创建核心失败。
解决步骤
移除
schema.xml中的废弃配置
打开CKAN提供的schema.xml文件,找到并删除包含defaultSearchField的行,示例如下:<!-- 需要删除的行 --> <defaultSearchField>text</defaultSearchField>配置默认搜索字段(可选但推荐)
为了保持原有的搜索行为,在solrconfig.xml中设置默认查询字段:- 找到
/select对应的requestHandler配置段 - 在
<lst name="defaults">节点内添加df参数,值为原defaultSearchField指定的字段(通常是text):<lst name="defaults"> <!-- 其他默认参数 --> <str name="df">text</str> </lst>
- 找到
兼容旧版schema格式(若需要)
Solr 7+默认使用Managed Schema,若仍需使用CKAN的schema.xml,需在solrconfig.xml的根<config>节点下添加:<schemaFactory class="ClassicIndexSchemaFactory"/>重新创建Solr核心
使用命令行或Solr Admin UI重新创建核心,确保指向修改后的配置目录:bin/solr create -c new_core -d /path/to/modified-ckan-solr-config
内容的提问来源于stack exchange,提问作者Namwanza Ronald
相关产品推荐
相关产品推荐

