[solr ] solr group 谁用过
JLK
2012-07-10
在项目中,有这样的需求:通过solr查询某个字段有多少个不同值,也就是说统计一下分组的个数,而不是统计每个分组包含的记录个数。
对于这样的需求,如果使用facet功能则有些水土不服,facet返回的信息太多了,而且使用json格式输出时,有点小小的别扭。这样的话,facet就不能满足需求了,于是改为使用group。 用solrserver来处理结果,怎么得到结果? |
|
popzh2004
2012-11-12
CommonsHttpSolrServer solrServer = new CommonsHttpSolrServer("服务Ip");
SolrQuery query = new SolrQuery("*:*"); query.setFacet(true); //是否分组 query.setFacetLimit(100); //分组返回数量限制 query.addFacetField("field");//分组字典 QueryResponse result = solrServer.query(query , METHOD.POST); List<Count> solrList = result.getFacetField("field").getValues(); for (Count count : solrList) { System.out.println(count.getName() + " " + count.getCount()); } |