private static class SearchGroup.GroupMerger<T>
extends java.lang.Object
Modifier and Type | Field and Description |
---|---|
private SearchGroup.GroupComparator<T> |
groupComp |
private java.util.Map<T,SearchGroup.MergedGroup<T>> |
groupsSeen |
private java.util.NavigableSet<SearchGroup.MergedGroup<T>> |
queue |
Constructor and Description |
---|
GroupMerger(Sort groupSort) |
Modifier and Type | Method and Description |
---|---|
java.util.Collection<SearchGroup<T>> |
merge(java.util.List<java.util.Collection<SearchGroup<T>>> shards,
int offset,
int topN) |
private void |
updateNextGroup(int topN,
SearchGroup.ShardIter<T> shard) |
private final SearchGroup.GroupComparator<T> groupComp
private final java.util.NavigableSet<SearchGroup.MergedGroup<T>> queue
private final java.util.Map<T,SearchGroup.MergedGroup<T>> groupsSeen
public GroupMerger(Sort groupSort)
private void updateNextGroup(int topN, SearchGroup.ShardIter<T> shard)
public java.util.Collection<SearchGroup<T>> merge(java.util.List<java.util.Collection<SearchGroup<T>>> shards, int offset, int topN)