solr 搜索时加空格没有结果
2013-09-26 17:31
459 查看
使用SOLR搜索时候常会出现以下问题,比如搜索“茶油” 可以搜索到结果,但是 茶和油之间加个空格就没有结果了
首先你要了解产生这个原因的原理。
schema.xml
solrconfig.xml
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",也可以解决。
方法3:把
首先你要了解产生这个原因的原理。
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",也可以解决。
方法3:把
<str name="df">text</str>
改为你要默认的查询字段比如改为name 搜索"茶 油"的时候 及类似鱼 name="茶" or name="油"
相关文章推荐
- solr4.0+IKAnalyzer 中文搜索,无法查询到结果的解决方法-【布尔逻辑和 空格后默认加默认搜索字段】
- Android拨号盘T9搜索号码中有空格就没有匹配结果的问题
- solr搜索结果按更新时间与关键字相关度排序
- solr4.0+IKAnalyzer 中文搜索,无法查询到结果的解决方法
- Drupal:为什么用中文搜索没有结果?
- 将nutch的结果用solr搜索显示出来
- Solr搜索结果说明
- 使用 Hadoop,Nutch ,Hbase,Solr 搭建搜索引擎抓取并测试搜索结果
- Solr系列六:solr搜索详解优化查询结果(分面搜索、搜索结果高亮、查询建议、折叠展开结果、结果分组、其他搜索特性介绍)
- Solr搜索结果说明
- Solr搜索结果说明
- 盘古分词-关键字搜索没有结果(关键字由未收录词组成)
- Solr搜索结果说明
- 生成全部可能存在的身份证号码并写入solr搜索引擎,及搜索查询结果
- Solr搜索结果说明 (转)
- El capitan中Spotlight没有显示新特性(spotlight suggestion)的解决方法(天气,bing网页搜索结果,网络视频等)
- solr搜索结果按某字段排序
- 利用SOLR搭建企业搜索平台 之八(solr 实现去掉重复的搜索结果,打SOLR-236_collapsing.patch补丁)
- 让google搜索结果没有过滤,也就是去除受当地法规保护
- magento -- 前台搜索无法使用,无论搜索什么就是没有结果