Solr分组聚合查询之Group
生活随笔
收集整理的這篇文章主要介紹了
Solr分组聚合查询之Group
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
摘要: Solr對結果的分組處理除了facet還可以使用group。Solr的group是根據某一字段對結果分組,將每一組內滿足查詢的結果按順序返回。
Group對比Facet
Group和Facet的概念很像,都是用來分組。Facet返回所有相關的結果并允許用戶基于facet的目錄重新定義結果集。Facet可以對分組數量進行過濾,以及排序,和日期范圍,時間范圍分組,但是如果你想得到具體的數據,還得需要查詢一次或多次。group可以得到分組的組數量,一次請求,可以拿到所有的數據。
Group和Facet可以結合起來使用,但只能使用facet.field和facet.range,還不支持日期date和維度統計pivot faceting.
Group參數
| group | 布爾值 | 設為true,表示結果需要分組 |
| group.field | 字符串 | 需要分組的字段,字段類型需要時是StrField或TextField |
| group.func | 查詢語句 | 可以指定查詢函數 |
| group.query | 查詢語句 | 可以指定查詢語句 |
| rows | 整數 | 返回多少組結果,默認10 |
| start | 整數 | 指定結果開始位置/偏移量 |
| group.limit | 整數 | 每組返回多數條結果,默認1 |
| group.offset | 整數 | 指定每組結果開始位置/偏移量 |
| sort | 排序算法 | 控制各個組的返回順序 |
| group.sort | 排序算法 | 控制每一分組內部的順序 |
| group.format | grouped/simple | 設置為simple可以使得結果以單一列表形式返回 |
| group.main | 布爾值 | 設為true時,結果將主要由第一個字段的分組命令決定 |
| group.ngroups | 布爾值 | 設為true時,Solr將返回分組數量,默認fasle |
| group.truncate | 布爾值 | 設為true時,facet數量將基于group分組中匹相關性高的文檔,默認fasle |
| group.cache.percent | 整數0-100 | 設為大于0時,表示緩存結果,默認為0。該項對于布爾查詢,通配符查詢,模糊查詢有改善,卻會減慢普通詞查詢。 |
總結
以上是生活随笔為你收集整理的Solr分组聚合查询之Group的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 7月13日任务
- 下一篇: 关于DEBUG的一点体会