我正在使用solr4,我在分组方面遇到了一些问题。这是我用于分组的查询
http://****/solr.war/collection1/select?q=name%3Awhat%26a%26girl%26wants&fl=name%2Cprice%2Cupc&wt=xml&indent=true&group=true&group.ngroups=true&group.facet=true&group.field=upc&group.sort=price+asc
这是
的o / p<lst>
<str name="groupValue">085391170112</str>
<result name="doclist" numFound="1" start="0">
<doc>
<str name="name">What a Girl Wants/Chasing Liberty - DVD</str>
<str name="upc">085391170112</str>
<float name="price">9.99</float></doc>
</result>
</lst>
<lst>
'numFound'在这里是1但是当我复制'upc'并使用以下查询搜索它时
http://*****/solr.war/collection1/select?q=upc%3A085391170112&fl=name%2Cupc&wt=xml&indent=true
<result name="response" numFound="2" start="0">
<doc>
<str name="name">What a Girl Wants/Chasing Liberty - DVD</str>
<str name="upc">085391170112</str></doc>
<doc>
<str name="upc">085391170112</str>
<str name="name">Sergio Vitier - Visiones Temas Para Cine</str></doc>
</result>
upc搜索中的“numFound
”为2。
我的架构是
<field name="upc" type="string" indexed="true" stored="true" multiValued="false"/>
答案 0 :(得分:0)
对于第一个查询,
http://****/solr.war/collection1/select?q=name%3Awhat%26a%26girl%26wants&fl=name%2Cprice%2Cupc&wt=xml&indent=true&group=true&group.ngroups=true&group.facet=true&group.field=upc&group.sort=price+asc
你的numFound = 1,因为你的查询
问=名称%3Awhat%26A%26girl%26wants 强>
仅根据名称匹配以下文档(不基于“upc”)
<doc>
<str name="name">What a Girl Wants/Chasing Liberty - DVD</str>
<str name="upc">085391170112</str></doc>
</doc>
另一方面,在第二个查询中,
http://*****/solr.war/collection1/select?q=upc%3A085391170112&fl=name%2Cupc&wt=xml&indent=true
您搜索了“upc”,其中所有文档都与给定的“upc”相匹配,但这并未过滤名称:%26a%26girl%26wants 的结果。
很明显,由于您的2个查询有两个不同的结果集,因此计数会有所不同。