本文整理汇总了Java中org.apache.solr.handler.component.ResponseBuilder.grouping方法的典型用法代码示例。如果您正苦于以下问题:Java ResponseBuilder.grouping方法的具体用法?Java ResponseBuilder.grouping怎么用?Java ResponseBuilder.grouping使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类org.apache.solr.handler.component.ResponseBuilder
的用法示例。
在下文中一共展示了ResponseBuilder.grouping方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: docIterator
import org.apache.solr.handler.component.ResponseBuilder; //导入方法依赖的package包/类
@SuppressWarnings({ "rawtypes", "unchecked" })
private Iterator<Integer> docIterator(ResponseBuilder rb) {
if (rb.grouping()) {
List<Integer> docList = new ArrayList<>();
NamedList values = rb.rsp.getValues();
NamedList grouped = (NamedList)values.get("grouped");
for (String field : rb.getGroupingSpec().getFields()) {
NamedList fieldResults = (NamedList)grouped.get(field);
if (rb.getGroupingSpec().getResponseFormat() == Grouping.Format.grouped) {
List<NamedList> groups = (List<NamedList>)fieldResults.get("groups");
for (NamedList group : groups) {
for (DocIterator it = ((DocList)group.get("doclist")).iterator(); it.hasNext(); ) {
docList.add(it.nextDoc());
}
}
} else {
for (DocIterator it = ((DocList)fieldResults.get("doclist")).iterator(); it.hasNext(); ) {
docList.add(it.nextDoc());
}
}
}
return docList.iterator();
} else {
return rb.getResults().docList.iterator();
}
}
示例2: getNumDocsDistrib
import org.apache.solr.handler.component.ResponseBuilder; //导入方法依赖的package包/类
private static long getNumDocsDistrib(ResponseBuilder rb) {
return rb.grouping() ? rb.totalHitCount : rb.getNumberDocumentsFound();
}