@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()); } } } };
.filter(g -> g.getName().equals(visitor.getExpression().toString())) .flatMap(gr -> gr.getValues().stream()) .map(g -> g.getGroupValue()) .collect(Collectors.toList());
Object sGroupValue = grpMap.get( "groupValue"); SolrDocumentList doclist = (SolrDocumentList) grpMap.get( "doclist"); Group group = new Group(sGroupValue != null ? sGroupValue.toString() : null, doclist) ; groupedCommand.add(group); groupCommand.add(new Group(fieldName, docList)); _groupResponse.add(groupCommand);
@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); } } } };
Object sGroupValue = grpMap.get( "groupValue"); SolrDocumentList doclist = (SolrDocumentList) grpMap.get( "doclist"); Group group = new Group(sGroupValue != null ? sGroupValue.toString() : null, doclist) ; groupedCommand.add(group); groupCommand.add(new Group(fieldName, docList)); _groupResponse.add(groupCommand);
SolrDocumentList documentList = group.getResult(); List<T> beans = solrTemplate.convertSolrDocumentListToBeans(documentList, clazz); Page<T> page = new PageImpl<>(beans, query.getGroupOptions().getPageRequest(), documentList.getNumFound()); groupEntries.add(new SimpleGroupEntry<>(group.getGroupValue(), page));
total += gCommand.getNGroups(); for (Group group : gCommand.getValues()) { docs.addAll(server.getBinder().getBeans(Document.class, group.getResult()));