@Override public List<SolrDocument> getResponseDocuments(QueryResponse response) { List<SolrDocument> docs; if (response.getGroupResponse() == null) { docs = response.getResults(); } else { docs = new ArrayList<SolrDocument>(); GroupResponse gr = response.getGroupResponse(); for (GroupCommand gc : gr.getValues()) { for (Group g : gc.getValues()) { for (SolrDocument d : g.getResult()) { docs.add(d); } } } } return docs; }
@Override public void accept(GroupCommand comm) { if (groupingField != null && !groupingField.equals(comm.getName())) return; List<Group> groups = comm.getValues(); if (groups != null) { for (Group group : groups) { results.put(group.getGroupValue(), group.getResult()); } } } };
@Override public void accept(GroupCommand comm) { if (groupingField != null && !groupingField.equals(comm.getName())) return; List<Group> groups = comm.getValues(); if (groups != null) { for (Group group : groups) { Consumer<SolrDocument> consumer = consumers.get(group.getGroupValue()); if (consumer != null) group.getResult().forEach(consumer); } } } };
SolrDocumentList documentList = group.getResult(); List<T> beans = solrTemplate.convertSolrDocumentListToBeans(documentList, clazz); Page<T> page = new PageImpl<>(beans, query.getGroupOptions().getPageRequest(), documentList.getNumFound());
total += gCommand.getNGroups(); for (Group group : gCommand.getValues()) { docs.addAll(server.getBinder().getBeans(Document.class, group.getResult()));