Class GroupSelector<T>
- java.lang.Object
-
- org.apache.lucene.search.grouping.GroupSelector<T>
-
- Type Parameters:
T- the type of the group value
- Direct Known Subclasses:
DoubleRangeGroupSelector,LongRangeGroupSelector,TermGroupSelector,ValueSourceGroupSelector
public abstract class GroupSelector<T> extends Object
Defines a group, for use by grouping collectorsA GroupSelector acts as an iterator over documents. For each segment, clients should call
setNextReader(LeafReaderContext), and thenadvanceTo(int)for each matching document.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classGroupSelector.StateWhat to do with the current value
-
Constructor Summary
Constructors Constructor Description GroupSelector()
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description abstract GroupSelector.StateadvanceTo(int doc)Advance the GroupSelector's iterator to the given documentabstract TcopyValue()abstract TcurrentValue()Get the group value of the current documentabstract voidsetGroups(Collection<SearchGroup<T>> groups)Set a restriction on the group values returned by this selectorabstract voidsetNextReader(LeafReaderContext readerContext)Set the LeafReaderContextabstract voidsetScorer(Scorable scorer)Set the current Scorer
-
-
-
Method Detail
-
setNextReader
public abstract void setNextReader(LeafReaderContext readerContext) throws IOException
Set the LeafReaderContext- Throws:
IOException
-
setScorer
public abstract void setScorer(Scorable scorer) throws IOException
Set the current Scorer- Throws:
IOException
-
advanceTo
public abstract GroupSelector.State advanceTo(int doc) throws IOException
Advance the GroupSelector's iterator to the given document- Throws:
IOException
-
currentValue
public abstract T currentValue() throws IOException
Get the group value of the current documentN.B. this object may be reused, for a persistent version use
copyValue()- Throws:
IOException
-
copyValue
public abstract T copyValue() throws IOException
- Returns:
- a copy of the group value of the current document
- Throws:
IOException
-
setGroups
public abstract void setGroups(Collection<SearchGroup<T>> groups)
Set a restriction on the group values returned by this selectorIf the selector is positioned on a document whose group value is not contained within this set, then
advanceTo(int)will returnGroupSelector.State.SKIP- Parameters:
groups- a set ofSearchGroupobjects to limit selections to
-
-