背景:项目中有个需求需要统计面包屑区域里的分类,属性,价格各自对应的商品数量。开始的时候有点茫然,后来同事提到solr的facet层面搜索可以做到。就开始找相关的资料并尝试,最终可行。
数据索引后的结构
首先:解决最好弄的统计 分类 层面的数量
执行query后的结果如下图(出现的位置在正常索引查询的下面,具体可以试试便知):
测试后发现可用就可以开始写调用的内容了
http://localhost:8888/solr/collection1/select?q=goods_name%3A%E7%BA%A2%E8%89%B2%E5%B8%BD%E5%AD%90&wt=json&indent=true
&facet=true&facet.field=cate_id_1&_=1387432465634(红色字体为设置facet层面搜索参数)
第二步:依据属性id进行层面统计搜索(由上面的搜索结果展示可以看到一件商品对应多个attr_id,所以不能用上面的直接设置了)
http://localhost:8888/solr/collection1/select?q=*%3A*&wt=json&indent=true
&facet=true&facet.query=attr_id%3A%22*%2C2959%2C*%22&facet.query=attr_id%3A%22*%2C2843%2C*%22&_=1387415712967
(红色字体为设置facet层面搜索用的query语句,此处设置了统计2个attr_id:2959 2843),将地址输入浏览器,接口返回结果:
第三步:对价格区间进行层面搜索统计(和上面的利用属性attr_id进行层面搜索是一样的)
具体可以参照:http://macrochen.iteye.com/blog/1337576