搜索聚合

用solr的facet实现聚合标签

混江龙づ霸主 提交于 2021-02-18 04:10:15
Facet,单词意思是侧面,小平面。哈哈,怎么学英文单词了…… 好吧,言归正题,solr的Facet是一个什么东西呢?我个人理解,反映一个搜索词的小平面(或者说某一个分组),起到标签聚合统计的功能。举个列子说,像我们公司的 电商类网站 那样的对搜索结果聚合分类,品牌等属性。如下图 这个是搜索铁观音这个词,统计了 分类和品牌 2个侧面(分组),铁观音在生活分类下有64个,茗茶里面48…… 上面这个说到底,就是某一类型的标签统计,比如xxx年热词等等,只要有记录,也能统计出来,当然,超大数据量提前优化好solr的性能。 介绍了一下facet之后,来说说怎么实现facet。facet的实现其实很简单,主要在搜索参数上带上就OK。 facet=on/true #代表开启facet facet.field=cate #代表要统计的面(分组),比如上面的分类,品牌,可以多次出现 facet.limit =20 #每个分组最多返回条数 facet.mincount = 1 #这个表示分组下某一条目的最小数据量 facet.missing = on/true #统计null的值 facet.method = # 默认为fc, fc表示Field Cache 比如:http://localhost/product/select/?q=铁观音&facet=on&facet.field=category