2012-11-01 36 views
1

考慮下面的查詢:有多少組結果可用?

/solr/select?q=linux 

它返回XML響應:

<response> 
    <lst name="responseHeader"> 
     <int name="status">0</int> 
     <int name="QTime">0</int> 
     <lst name="params"> 
      <str name="q">linux</str> 
     </lst> 
    </lst> 
    <result name="response" numFound="10943" start="0"> 

從這裏我們可以看到,有符合我們查詢該文檔10943。然而,考慮與分組相同的查詢:

/solr/select?q=linux&group=true&group.field=tag 

它返回XML響應:

<response> 
    <lst name="responseHeader"> 
     <int name="status">0</int> 
     <int name="QTime">10</int> 
     <lst name="params"> 
      <str name="group">true</str> 
      <str name="group.field">tag</str> 
      <str name="q">linux</str> 
     </lst> 
    </lst> 
    <lst name="grouped"> 
     <lst name="tag"> 
      <int name="matches">10943</int> 
      <arr name="groups"> 
       <lst> 
        <str name="groupValue">linux</str> 
        <result name="doclist" numFound="1224" start="0"> 

從這裏我們可以看到有哪些符合我們的查詢(顯然10943頁的文件,這是相同的如第一個例子中的查詢)。我們也可以看到我們有1224個帶有'linux'標籤的文檔。但是,沒有提到有多少匹配的組。因此,無法使用分頁顯示標籤列表,因爲無法計算需要多少頁面。

如何計算返回的組的數量,以計算可用的分頁頁數?

謝謝。

回答

4

對於組的數量,使用groups.ngroups請求參數,該參數將給出分頁組數。

Documentation: -

group.ngroups 
true/false 
If true, includes the number of groups that have matched the query. Default is false. 
+0

謝謝Jayendra,完美! – dotancohen

相關問題