因为我司做的项目,其中涉及大量的统计展示,多数以整个市的区划,行业部门等方式返回,在昨天,我发现听过填报单位的方式返回时,始终只有100个数据。通过对比发现,在前辈的代码中统计的存在一个巧合,就是全市的区划、行业部门钻取的方式都没有超过100,刚好我写的这个接口的填报单位有接近3w个单位。
在solr中不管是FacetPivotField还是FacetField。在统计中,最好加入
query.setFacetLimit(-1);
会显示全部,不然只会默认的展示10或者100个数据。
还有因为本身在统计中,需要将没有数据的的单位返回结果,我在service中判断用户类型获得用户树,在匹对用户code。
query.setFacetMinCount(1);
统计为0的不返回。
query.setStart(long start);
query.setRows(long end);