Class RepeatingIntervalsSource
- java.lang.Object
-
- org.apache.lucene.queries.intervals.IntervalsSource
-
- org.apache.lucene.queries.intervals.RepeatingIntervalsSource
-
class RepeatingIntervalsSource extends IntervalsSource
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 specializedIntervalIterator.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 Classes Modifier and Type Class Description private static class
RepeatingIntervalsSource.DuplicateIntervalIterator
private static class
RepeatingIntervalsSource.DuplicateMatchesIterator
-
Field Summary
Fields Modifier and Type Field Description (package private) int
childCount
(package private) IntervalsSource
in
(package private) java.lang.String
name
-
Constructor Summary
Constructors Modifier Constructor Description private
RepeatingIntervalsSource(IntervalsSource in, int childCount)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description (package private) static IntervalsSource
build(IntervalsSource in, int childCount)
boolean
equals(java.lang.Object other)
int
hashCode()
IntervalIterator
intervals(java.lang.String field, LeafReaderContext ctx)
Create anIntervalIterator
exposing the minimum intervals defined by thisIntervalsSource
Returnsnull
if no intervals for this field exist in this segmentIntervalMatchesIterator
matches(java.lang.String field, LeafReaderContext ctx, int doc)
Return aMatchesIterator
over the intervals defined by thisIntervalsSource
for a given document and field Returnsnull
if no intervals exist in the given document and fieldint
minExtent()
Return the minimum possible width of an interval returned by this sourcejava.util.Collection<IntervalsSource>
pullUpDisjunctions()
Expert: return the set of disjunctions that make up this IntervalsSource Most implementations can returnCollections.singleton(this)
void
setName(java.lang.String name)
java.lang.String
toString()
void
visit(java.lang.String field, QueryVisitor visitor)
Expert: visit the tree of sources
-
-
-
Field Detail
-
in
final IntervalsSource in
-
childCount
final int childCount
-
name
java.lang.String name
-
-
Constructor Detail
-
RepeatingIntervalsSource
private RepeatingIntervalsSource(IntervalsSource in, int childCount)
-
-
Method Detail
-
build
static IntervalsSource build(IntervalsSource in, int childCount)
-
setName
public void setName(java.lang.String name)
-
intervals
public IntervalIterator intervals(java.lang.String field, LeafReaderContext ctx) throws java.io.IOException
Description copied from class:IntervalsSource
Create anIntervalIterator
exposing the minimum intervals defined by thisIntervalsSource
Returnsnull
if no intervals for this field exist in this segment- Specified by:
intervals
in classIntervalsSource
- Parameters:
field
- the field to read positions fromctx
- the context for which to return the iterator- Throws:
java.io.IOException
-
matches
public IntervalMatchesIterator matches(java.lang.String field, LeafReaderContext ctx, int doc) throws java.io.IOException
Description copied from class:IntervalsSource
Return aMatchesIterator
over the intervals defined by thisIntervalsSource
for a given document and field Returnsnull
if no intervals exist in the given document and field- Specified by:
matches
in classIntervalsSource
- Parameters:
field
- the field to read positions fromctx
- the document's contextdoc
- the document to return matches for- Throws:
java.io.IOException
-
visit
public void visit(java.lang.String field, QueryVisitor visitor)
Description copied from class:IntervalsSource
Expert: visit the tree of sources- Specified by:
visit
in classIntervalsSource
-
minExtent
public int minExtent()
Description copied from class:IntervalsSource
Return the minimum possible width of an interval returned by this source- Specified by:
minExtent
in classIntervalsSource
-
pullUpDisjunctions
public java.util.Collection<IntervalsSource> pullUpDisjunctions()
Description copied from class:IntervalsSource
Expert: return the set of disjunctions that make up this IntervalsSource Most implementations can returnCollections.singleton(this)
- Specified by:
pullUpDisjunctions
in classIntervalsSource
-
hashCode
public int hashCode()
- Specified by:
hashCode
in classIntervalsSource
-
equals
public boolean equals(java.lang.Object other)
- Specified by:
equals
in classIntervalsSource
-
toString
public java.lang.String toString()
- Specified by:
toString
in classIntervalsSource
-
-