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 class
GroupSelector.State
What 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.State
advanceTo(int doc)
Advance the GroupSelector's iterator to the given documentabstract T
copyValue()
abstract T
currentValue()
Get the group value of the current documentabstract void
setGroups(Collection<SearchGroup<T>> groups)
Set a restriction on the group values returned by this selectorabstract void
setNextReader(LeafReaderContext readerContext)
Set the LeafReaderContextabstract void
setScorer(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 ofSearchGroup
objects to limit selections to
-
-