我正在尝试使用sunspot / solr进行简单查询,当我的查询字符串包含单词“of”时,我似乎无法获取结果。
更具体一点:
当我查询“塞萨洛尼基大学”时,solr没有回复,但当我查询“塞萨洛尼基大学”时,它确实如此。
以下是日志:
Sep 29, 2012 10:24:56 AM org.apache.solr.core.SolrCore execute
INFO: [] webapp=/solr path=/select params={fl=*+score&start=0&q=University+of+Thessaloniki&qf=status_code_text+pi_details_text+other_party_name_text+contact_details_text+other_pi_details_text+sending_or_receiving_text+start_at_str_text+materials_text&wt=ruby&fq=type:Mta&defType=dismax&rows=10000} hits=0 status=0 QTime=8
Sep 29, 2012 10:25:09 AM org.apache.solr.core.SolrCore execute
INFO: [] webapp=/solr path=/select params={fl=*+score&start=0&q=University+Thessaloniki&qf=status_code_text+pi_details_text+other_party_name_text+contact_details_text+other_pi_details_text+sending_or_receiving_text+start_at_str_text+materials_text&wt=ruby&fq=type:Mta&defType=dismax&rows=10000} hits=9 status=0 QTime=5
当我直接在sunspot / solr(http://localhost:8981/solr/admin/analysis.jsp?highlight=on
)的管理界面上进行相同的查询时,它突出显示匹配。
你能帮助我,找到我的错误吗?
提前致谢 Panayotis
答案 0 :(得分:1)
您正在使用dismax查询解析器,它允许您配置minimum number should match。默认值为100%,表示所有子句必须匹配。显然,您的文档不包含of
字样。如果是这种情况,您只需配置最小匹配参数,考虑到其行为会根据您使用的solr版本略有变化。另一方面,如果您认为自己有of
这个词,我建议您检查一下如何索引文档。您是否有可能在索引时应用停用词过滤器而不是在查询时应用?