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。該項對於布爾查詢,通配符查詢,模糊查詢有改善,卻會減慢普通詞查詢。 |
示例:參數加上&group=true&group.ngroups=true&group.field=post_time&group.limit=3
說明:以post_time分組,每個分組返回三條記錄,group.ngroups=true,返回分組數量
返回:
{
"responseHeader":{
"status":0,
"QTime":18,
"params":{
"q":"post_content:\"nike\"",
"indent":"on",
"fl":"id,post_time",
"group.limit":"3",
"group.ngroups":"true",
"rows":"3",
"wt":"json",
"group.field":"post_time",
"_":"1567574501345",
"group":"true"}},
"grouped":{
"post_time":{
"matches":33679,
"ngroups":1563,
"groups":[{
"groupValue":"20190226",
"doclist":{"numFound":70,"start":0,"docs":[
{
"id":"15874598",
"post_time":"20190226"},
{
"id":"15862891",
"post_time":"20190226"},
{
"id":"15862897",
"post_time":"20190226"}]
}},
{
"groupValue":"20190418",
"doclist":{"numFound":72,"start":0,"docs":[
{
"id":"17550386",
"post_time":"20190418"},
{
"id":"17530801",
"post_time":"20190418"},
{
"id":"17530802",
"post_time":"20190418"}]
}},
{
"groupValue":"20190509",
"doclist":{"numFound":64,"start":0,"docs":[
{
"id":"18440190",
"post_time":"20190509"},
{
"id":"18477522",
"post_time":"20190509"},
{
"id":"18465154",
"post_time":"20190509"}]
}}]}}}