solr 查询 分组及排序

背景

solr中有个索引,对应mysql的用户表,如下:

    {
        "chineseName": "宋玉山",
        "job": "销售经理",
        "department": "",
        "company": "松下冷链(大连)有限公司",
        "city": "杭州市",
        "mobilePhone": "15666666666",
        "emailAddress": "songyushan@xxxx.cn"
    }

需求

现在要分析数据,需要按职位也就是job字段分组,看看每个职位有多少人

分析

初步分析,可采用如下两种方式

  1. group
  2. facet

尝试group的方式

QQ20180822-112858@2x
但是有个问题无法按分组内的记录数排序,也就是按numFound排序

尝试使用facet

QQ20180822-113031@2x
可见,使用facet也能满足分组的需求,并且自动按分组内记录数从大到小排序了,
但是取不到分组内的数据

结论

如果只是需要分组,和组内记录数使用facet
如果不需要排序使用group(当然你可以取出全部数据自己排序,但是如果数据多了就不不能这样做了)

(全文完)

(转载本站文章请注明作者和出处 solr 查询 分组及排序