在对Solr进行升级的时候出现了下面这个问题:
defaultSearchField has been deprecated and is incompatible with configs with luceneMatchVersion >= 6.6.0. Use 'df' on requests instead.
查看你的schema.xml配置文件中会发现有下面的配置:
<defaultSearchField>text_cn</defaultSearchField>
这个标签是用来指定Solr默认的搜索字段的
因为Solr升级到6.6后不支持defaultSearchField,然后Solr就给了你上面的提示
解决方法有两种:
- 第一种方式:降低Lucene所使用的版本
可以看下你的solrconfig.xml配置文件里肯定有这么一个标签:
<luceneMatchVersion>6.6.0</luceneMatchVersion>
把这个标签的值降低一些,比如说6.1,我原来的版本是6.1,是没有问题的,当然你也可以试试6.2, 6.3什么的
- 第二种方式:用"df"属性代替
错误提示不是说使用"df"属性来代替吗?那咱就用这个属性来代替defaultSearchField标签
在schema.xml配置文件里把这个属性删掉
然后在solrconfig.xml配置文件中修改所有"df"属性出现的地方,
把defaultSearchField值传给df
有3处,把它的值全部改成defaultSearchField标签的值
<str name="df">text_cn</str>
我这边默认的查询字段为text_cn,按情况改为你自己的
然后重启Solr服务