Solr Grouping / Field Collapsing(分組查詢)
轉(zhuǎn)載請出自出處: http://eksliang.iteye.com/blog/2169458
一、概述
? ? ? 分組統(tǒng)計(jì)查詢不同于分組統(tǒng)計(jì)(Facet),facet只是簡單統(tǒng)計(jì)記錄數(shù),并不能為每組數(shù)據(jù)返回實(shí)際的數(shù)據(jù)回來,solr提供的grouping查詢能夠解決這一問題,也就是說,他除了能分組外,還能把每組數(shù)據(jù)返回來。
?
二、語法簡介
參考實(shí)例一
查詢參數(shù)如下:
q=*:*
&group=true
&group.field=price
?返回結(jié)果如下:
| 參數(shù) | 參數(shù)含義 |
| group | (true/false) 是否開啟分組查詢 |
| group.field | group字段,通過在請求中加入group.field參數(shù)加以聲明,如果需要對多個(gè)字段進(jìn)行g(shù)roup by,那么該參數(shù)可以聲明多次 |
| group.query | 可以對任意條件進(jìn)行分組統(tǒng)計(jì)查詢 |
| group.limit | 返回的數(shù)據(jù)的條目,默認(rèn)為1 3 |
| group.offset | 偏移量,跟上面的group.limit一起可以達(dá)到分頁的效果 |
| group.sort | 排序 |
| group.main | (true/false)等于true,將只返回最后一個(gè)group.query查詢的分組數(shù)據(jù),一定是最后一個(gè)group.query,如果最后的條件是group.field,也沒有效果,同時(shí)其他分組統(tǒng)計(jì)條件都會失去作用 |
? ? ? ?
三、參考實(shí)例
?參考實(shí)例一:group.field多個(gè)字段同時(shí)一起做分組統(tǒng)計(jì)查詢演示 ,查詢參數(shù)如下所示
q=*:*
&group=true
&group.field=price
&group.field=brand
&rows=2
?返回結(jié)果如下所示:
參考實(shí)例二:group.query自定義條件統(tǒng)計(jì)演示 ,請求參數(shù)如下所示
q=*:*
&group=true
&group.query=price:[0 TO 3000]
&group.query=price:[2000 TO *]
&group.limit=2
?返回結(jié)果如下所示:
參考實(shí)例三:group.main參數(shù)演示 ,請求參數(shù)如下所示
q=*:*
&group=true
&group.query=price:[0 TO 3000]
&group.query=price:[2000 TO *]
&group.field=price
&group.main=true
?返回結(jié)果如下所示:
參考實(shí)例四:group.main參數(shù)演示 ,請求參數(shù)如下所示
q=*:*
&group=true
&group.field=price
&group.main=true
&rows=1
?返回結(jié)果如下所示,可以看到其他group統(tǒng)計(jì)條件都會失去作用因?yàn)榧恿薵roup.main=true
<response>
<lst name="responseHeader">
<int name="status">0</int>
<int name="QTime">2</int>
<lst name="params">
<str name="q">*:*</str>
<str name="group.field">price</str>
<str name="group.main">true</str>
<str name="group">true</str>
<str name="rows">1</str>
</lst>
</lst>
<result name="response" numFound="9" start="0">
<doc>
<str name="id">a001</str>
<str name="brand">聯(lián)想</str>
<float name="price">1100.0</float>
<date name="birthday">2014-11-06T09:15:00Z</date>
<str name="remark">聯(lián)想A001</str>
<long name="_version_">1487193657358417920</long>
</doc>
</result>
</response>
?
?
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061
微信掃一掃加我為好友
QQ號聯(lián)系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長非常感激您!手機(jī)微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元

