Module org.apache.lucene.queries
Class RepeatingIntervalsSource
java.lang.Object
org.apache.lucene.queries.intervals.IntervalsSource
org.apache.lucene.queries.intervals.RepeatingIntervalsSource
Generates an iterator that spans repeating instances of a sub-iterator, avoiding minimization.
This is useful for repeated terms within an unordered interval, for example, ensuring that
multiple iterators do not match on a single term.
The generated iterators have a specialized IntervalIterator.width() implementation
that sums up the widths of the individual sub-iterators, rather than just returning the full span
of the iterator.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionprivate static classprivate static class -
Field Summary
FieldsModifier and TypeFieldDescription(package private) final int(package private) final IntervalsSource(package private) String -
Constructor Summary
ConstructorsModifierConstructorDescriptionprivateRepeatingIntervalsSource(IntervalsSource in, int childCount) -
Method Summary
Modifier and TypeMethodDescription(package private) static IntervalsSourcebuild(IntervalsSource in, int childCount) booleaninthashCode()intervals(String field, LeafReaderContext ctx) Create anIntervalIteratorexposing the minimum intervals defined by thisIntervalsSourcematches(String field, LeafReaderContext ctx, int doc) Return aMatchesIteratorover the intervals defined by thisIntervalsSourcefor a given document and fieldintReturn the minimum possible width of an interval returned by this sourceExpert: return the set of disjunctions that make up this IntervalsSourcevoidtoString()voidvisit(String field, QueryVisitor visitor) Expert: visit the tree of sources
-
Field Details
-
in
-
childCount
final int childCount -
name
String name
-
-
Constructor Details
-
RepeatingIntervalsSource
-
-
Method Details
-
build
-
setName
-
intervals
Description copied from class:IntervalsSourceCreate anIntervalIteratorexposing the minimum intervals defined by thisIntervalsSourceReturns
nullif no intervals for this field exist in this segment- Specified by:
intervalsin classIntervalsSource- Parameters:
field- the field to read positions fromctx- the context for which to return the iterator- Throws:
IOException
-
matches
public IntervalMatchesIterator matches(String field, LeafReaderContext ctx, int doc) throws IOException Description copied from class:IntervalsSourceReturn aMatchesIteratorover the intervals defined by thisIntervalsSourcefor a given document and fieldReturns
nullif no intervals exist in the given document and field- Specified by:
matchesin classIntervalsSource- Parameters:
field- the field to read positions fromctx- the document's contextdoc- the document to return matches for- Throws:
IOException
-
visit
Description copied from class:IntervalsSourceExpert: visit the tree of sources- Specified by:
visitin classIntervalsSource
-
minExtent
public int minExtent()Description copied from class:IntervalsSourceReturn the minimum possible width of an interval returned by this source- Specified by:
minExtentin classIntervalsSource
-
pullUpDisjunctions
Description copied from class:IntervalsSourceExpert: return the set of disjunctions that make up this IntervalsSourceMost implementations can return
Collections.singleton(this)- Specified by:
pullUpDisjunctionsin classIntervalsSource
-
hashCode
public int hashCode()- Specified by:
hashCodein classIntervalsSource
-
equals
- Specified by:
equalsin classIntervalsSource
-
toString
- Specified by:
toStringin classIntervalsSource
-