Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/solr/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
未正确处理solr查询中的加号_Solr - Fatal编程技术网

未正确处理solr查询中的加号

未正确处理solr查询中的加号,solr,Solr,全部: 我是Solr新手,当我使用Solr示例导入一些随机文档时,我使用q中的搜索查询,如: fund+report fund和+(基金+报表)之间没有空格,我想它会在文档中搜索“fund+报表”一词,这在文档中很少出现,但是返回了很多结果,查询url是: http://localhost:8983/solr/collection1/select?q=fund%2Breport&fl=id+filename+%5Bexplain%5D&wt=xml&indent=tru

全部:

我是Solr新手,当我使用Solr示例导入一些随机文档时,我使用q中的搜索查询,如:

fund+report
fund和+(基金+报表)之间没有空格,我想它会在文档中搜索“fund+报表”一词,这在文档中很少出现,但是返回了很多结果,查询url是:

http://localhost:8983/solr/collection1/select?q=fund%2Breport&fl=id+filename+%5Bexplain%5D&wt=xml&indent=true
我认为Solr对待我的问题就像:

fund report

谁能告诉我索尔为什么这样对待我的问题?我如何才能让solr将基金+报告作为一个词来对待


谢谢

HTTP调用将把
+
转换成一个空格
。如果需要实际的
+
符号,则需要使用
+
的URL编码值(我认为这是
%2B
)。如果您正在查找短语基金报告,则需要在短语周围加上双引号,例如,
“基金报告”
。这些也应该是URL编码的(我认为它的值是
%22

请记住,如果使用词干分析,则搜索
“基金报告”
将找到
“基金报告”
“基金报告”
等的结果。但这可能是您想要的

因此,说到底,您的URL可能如下所示:

http://localhost:8983/solr/collection1/select?q=%22fund%20report%22&fl=id,filename,%5Bexplain%5D&wt=xml&indent=true

请注意,为
fl
参数列出的字段应以逗号分隔。我不知道为什么在
explain
字段周围有方括号。

您使用的是ColdFusion,对吗?@David Faber不,只有带有solr exampleOK的管理页面。仅供参考,您可以更改Solr集合配置中的默认布尔运算符,以便Solr将
基金报告
视为
基金和报告
,而不是
基金或报告
。您还可以配置术语之间的接近程度等。感谢您的回复。实际上,我想了解的是[1]为什么基金+报告的输入不能被当作一个单词“基金+报告”(这是solr admin demo bug吗?[2]如何让solr将其当作基金+报告而不双重引用?双重引用是搜索短语的方式是solr。我不知道有哪种Solr类型会在没有双引号的情况下查找短语——我也不确定您是否会想要一个!您是否确实在搜索
基金+报表
,即在文档本身中使用文字符号
+
?是的,输入是精确的基金+报表,带有+符号,基金和+符号之间没有空格,没有双引号。我想知道solr为什么不能理解我的输入?我想在这种情况下,您需要的是一个字段类型,它不会在
+
符号上标记,在这种情况下,
基金+报告
将被视为一个单词。但是,您仍然需要解决如何在查询中传递
+
符号的问题,因为该字符对Solr(以及HTTP)具有特定的含义,这就是为什么必须对其进行URL编码的原因。根据此页面,可以使用反斜杠将其转义:
http://localhost:8983/solr/collection1/select?q=%22fund%20report%22&fl=id,filename,%5Bexplain%5D&wt=xml&indent=true