Class TopGroups<T>

  • public class TopGroups<T>
    extends Object
    Represents result returned by a grouping search.
    • 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.
      • maxScore

        public final float maxScore
        Highest score across all hits, or Float.NaN if scores were not computed.
    • Method Detail

      • merge

        public static <T> TopGroups<T> merge(TopGroups<T>[] shardGroups,
                                             Sort groupSort,
                                             Sort docSort,
                                             int docOffset,
                                             int docTopN,
                                             TopGroups.ScoreMergeMode scoreMergeMode)
                                      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