Class TopGroups<GROUP_VALUE_TYPE>


  • public class TopGroups<GROUP_VALUE_TYPE>
    extends Object
    Represents result returned by a grouping search.
    WARNING: This API is experimental and might change in incompatible ways in the next release.
    • Field Detail

      • totalHitCount

        public final int totalHitCount
        Number of documents matching the search
      • totalGroupedHitCount

        public final int totalGroupedHitCount
        Number of documents grouped into the topN groups
      • totalGroupCount

        public final Integer totalGroupCount
        The total number of unique groups. If null this value is not computed.
      • groupSort

        public final SortField[] groupSort
        How groups are sorted against each other
      • withinGroupSort

        public final SortField[] withinGroupSort
        How docs are sorted within each group
    • Method Detail

      • merge

        public static <T> TopGroups<T> merge​(TopGroups<T>[] shardGroups,
                                             Sort groupSort,
                                             Sort docSort,
                                             int docOffset,
                                             int docTopN)
                                      throws IOException
        Merges an array of TopGroups, for example obtained from the second-pass collector across multiple shards. Each TopGroups must have been sorted by the same groupSort and docSort, and the top groups passed to all second-pass collectors must be the same. NOTE: We can't always compute an exact totalGroupCount. Documents belonging to a group may occur on more than one shard and thus the merged totalGroupCount can be higher than the actual totalGroupCount. In this case the totalGroupCount represents a upper bound. If the documents of one group do only reside in one shard then the totalGroupCount is exact. NOTE: the topDocs in each GroupDocs is actually an instance of TopDocsAndShards
        Throws:
        IOException