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_Solr Query Syntax - Fatal编程技术网

Solr查询未返回预期结果

Solr查询未返回预期结果,solr,solr-query-syntax,Solr,Solr Query Syntax,我有一个solr查询,比如:host:8983/solr/collection/select?q=propids%3A1&wt=json&indent=true 在这里我过滤关于PROPID的信息:1。问题是,当筛选PropId:1和2时,我只有使用PropId:1索引的文档,但当使用and时,我会得到所有索引结果,即使我没有任何具有2的PropId。感谢您的帮助。谢谢我想你的问题是 q=PROPID:1和2 这并不意味着它将搜索PROPID=1和2 请检查您的solrconfig.xml中的默

我有一个solr查询,比如:
host:8983/solr/collection/select?q=propids%3A1&wt=json&indent=true

在这里我过滤关于PROPID的信息:1。问题是,当筛选PropId:1和2时,我只有使用PropId:1索引的文档,但当使用and时,我会得到所有索引结果,即使我没有任何具有2的PropId。感谢您的帮助。谢谢

我想你的问题是

q=PROPID:1和2

这并不意味着它将搜索PROPID=1和2

请检查您的solrconfig.xml中的默认搜索字段。 因为如果你的查询和我想象的一样,那么它意味着

q=PROPID:1和默认可搜索字段:2


如果需要获取PROPID=1的文档以及PROPID=2的文档,请执行此操作

q=propids:1 2

这将使单词(1和2)与字段内容匹配,并获得两种类型的文档。

所有包含PROPID=1的结果

host:8983/solr/collection/select?q=*:*&wt=json&indent=true&fq=propids:1

包含PROPID=2的所有结果

host:8983/solr/collection/select?q=*:*&wt=json&indent=true&fq=propids:2
host:8983/solr/collection/select?q=*:*&wt=json&indent=true&fq=propids:(1 OR 2)
host:8983/solr/collection/select?q=*:*&wt=json&indent=true&fq=propids:1&fq=propids:2
包含PROPID=1或PROPID=2的所有结果

host:8983/solr/collection/select?q=*:*&wt=json&indent=true&fq=propids:2
host:8983/solr/collection/select?q=*:*&wt=json&indent=true&fq=propids:(1 OR 2)
host:8983/solr/collection/select?q=*:*&wt=json&indent=true&fq=propids:1&fq=propids:2
包含PROPID=1和PROPID=2的所有结果

host:8983/solr/collection/select?q=*:*&wt=json&indent=true&fq=propids:2
host:8983/solr/collection/select?q=*:*&wt=json&indent=true&fq=propids:(1 OR 2)
host:8983/solr/collection/select?q=*:*&wt=json&indent=true&fq=propids:1&fq=propids:2

使用Solr,您将不得不提供更多的信息。包括您的模式设计(schema.xml中的字段)以及solrconfig.xml中请求处理程序的定义(“选择”引用)。我需要带有PROPID 1和2的文档,它是一个多值字段,值由“,”分隔。这些将是一些产品的属性,如容量和功率或任何属性。每个产品都有一个容量属性、电源属性等。当我构建过滤器时,我必须构建我的查询,因此如果选择了一种容量类型,它应该返回所有具有该属性的产品,而如果选择了另一个道具,它应该返回具有第一个和第二个属性的产品。希望现在清楚了:)“我需要带有PROPID 1和2的文档,它是一个多值字段,值之间用“,“--能否显示您的架构字段定义和已编制索引的示例文档?字段:
Doc ex:谢谢,但Doc链接显示的是查询结果,而不是用于填充搜索索引的文档。注意:这假设默认查询运算符为或。看起来可以,不幸的是,我不能再测试它了,因为我已经修改了逻辑。我认为这是正确的答案。谢谢