1

私は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>

' numFound' は upc 検索では 2 です。

私のスキーマは

<field name="upc" type="string" indexed="true" stored="true" multiValued="false"/>
4

1 に答える 1

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 を得た理由は、クエリ

q=name%3Awhat%26a%26girl%26wants

名前に基づいて次のドキュメントのみに一致します( "upc" に基づいていません)

  <doc>
    <str name="name">What a Girl Wants/Chasing Liberty - DVD</str>
    <str name="upc">085391170112</str></doc>
  </doc>

一方、2 番目のクエリでは、

http://*****/solr.war/collection1/select?q=upc%3A085391170112&fl=name%2Cupc&wt=xml&indent=true

指定された「upc」を持つすべてのドキュメントに一致する「upc」を検索しましたが、これはname:what%26a%26girl%26wantの結果をフィルタリングしません。

明らかに、2 つのクエリに対して 2 つの異なる結果セットがあるため、カウントは異なります。

于 2013-03-15T06:39:19.537 に答える