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 thisIntervalsSourceReturnsnullif no intervals for this field exist in this segmentmatches(String field, LeafReaderContext ctx, int doc) Return aMatchesIteratorover the intervals defined by thisIntervalsSourcefor a given document and field Returnsnullif no intervals exist in the given document and fieldintReturn the minimum possible width of an interval returned by this sourceExpert: return the set of disjunctions that make up this IntervalsSource Most implementations can returnCollections.singleton(this)voidtoString()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 thisIntervalsSourceReturnsnullif 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 field Returnsnullif 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 IntervalsSource Most implementations can returnCollections.singleton(this)- Specified by:
pullUpDisjunctionsin classIntervalsSource
-
hashCode
public int hashCode()- Specified by:
hashCodein classIntervalsSource
-
equals
- Specified by:
equalsin classIntervalsSource
-
toString
- Specified by:
toStringin classIntervalsSource
-