solr组计数错误计数

时间:2013-03-15 05:56:25

标签: solr

我正在使用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"/>

1 个答案:

答案 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个查询有两个不同的结果集,因此计数会有所不同。