所有
我是Solr的新手,当我使用solr示例导入一些随机文档时,我在q中使用搜索查询,如:
fund+report
基金和+之间没有空间,我认为它会搜索一个单词" fund + report"在文档中,很少发生在文档中,但很多结果返回,查询网址是:
http://localhost:8983/solr/collection1/select?q=fund%2Breport&fl=id+filename+%5Bexplain%5D&wt=xml&indent=true
我认为Solr对待我的查询就像:
fund report
或
fund OR report
有谁能告诉我为什么solr会这样对待我的查询?我怎样才能将solr对待基金+报告作为一个单词?
由于
答案 0 :(得分:2)
HTTP调用只会将+
转换为空格。如果您需要实际的
+
符号,则需要使用+
的URL编码值(我认为是%2B
)。如果您正在寻找词组 基金报告,那么您希望在该词组周围添加双引号,例如"fund report"
。这些也应该是URL编码的(我认为它的值是%22
)。
请注意,如果您正在使用词干,那么搜索"fund report"
会找到"funds reports"
,"funding reports"
等的结果。但也许这就是您想要的。
毕竟说完了,你的网址可能如下所示:
http://localhost:8983/solr/collection1/select?q=%22fund%20report%22&fl=id,filename,%5Bexplain%5D&wt=xml&indent=true
请注意,为fl
参数列出的字段应以逗号分隔。我不确定为什么你在explain
字段周围有方括号。