solr-group by

solr group by查询:
1.solr wiki参考:[url]http://wiki.apache.org/solr/FieldCollapsing[/url
2.solrj group查询例子:
 SolrQuery SolrQuery = new SolrQuery("*:*");
        solrQuery.addFilterQuery("display:1");
        solrQuery.addFilterQuery("activityBeginTime:[* TO NOW]");
        solrQuery.addFilterQuery("activityEndTime:[NOW TO *]");
        solrQuery.setGroup(true);
        solrQuery.setParam(GroupParams.GROUP_QUERY,  {"id:1","id:2"});
        solrQuery.setParam(GroupParams.GROUP_LIMIT, pageSize + "");
        solrQuery.setParam(GroupParams.GROUP_OFFSET, pageSize * (page - 1) + "");
        solrQuery.setParam(GroupParams.GROUP_LIMIT, "1");
        solrQuery.setParam(GroupParams.GROUP_SORT, "id desc", "sort asc");
        solrQuery.setRows(0);

     QueryResponse qr = searchSource.query(searchQuery, SolrRequest.METHOD.POST);
     GroupResponse groupResponse = qr.getGroupResponse();
        List<GroupCommand> list = groupResponse.getValues();

          for (GroupCommand gc : list) {
                        List<Group> gs = gc.getValues();
                        if (CollectionUtils.isNotEmpty(gs)) {
                            for (Group g : gs) {
                                SolrDocumentList sds = g.getResult();
                                if (CollectionUtils.isNotEmpty(sds)) {
                                     for (SolrDocument doc : sds) {
                                          String id= doc.getFieldValue("id").toString();
                                        }
                                    }
                                }
                            }
                        }
                    }

你可能感兴趣的:(group by)