你是不是这么搜索的 q=title:随意 问 ?
首先你要了解产生这个原因的原理。
schema.xml
<defaultSearchField>name</defaultSearchField>
solrconfig.xml
<requestHandler name="/select" class="solr.SearchHandler">
<lst name="defaults">
<str name="echoParams">explicit</str>
<int name="rows">10</int>
<str name="df">text</str>
</lst>
</requestHandler>
schema.xml中defaultSearchField和solrconfig.xml中df属性都是默认搜索字段的意思,不过后者只针对"/select"请求。优先级是solrconfig.xml的df高于schema.xml的defaultSearchField。
设置默认搜索字段的效果:搜索条件为 title:随意 问,中间的空格默认相当于OR,"text"优先于"name",因此搜索条件等价于 title:随意 OR text:问,所以会搜索不出结果。
建议解决方法:
方法1:可以将搜索条件变为 title:(随意 问),等价于 title:随意 OR title:问。
方法 2:搜索条件不变,查询时URL加上df参数"&df=title",也可以解决。