Class TermIntervalsSource
- java.lang.Object
-
- org.apache.lucene.queries.intervals.IntervalsSource
-
- org.apache.lucene.queries.intervals.TermIntervalsSource
-
class TermIntervalsSource extends IntervalsSource
-
-
Field Summary
Fields Modifier and Type Field Description (package private) BytesRef
term
private static int
TERM_OPS_PER_POS
Number of simple operations inLucene90PostingsReader.EverythingEnum#nextPosition()
when no seek or buffer refill is done.private static int
TERM_POSNS_SEEK_OPS_PER_DOC
A guess of the average number of simple operations for the initial seek and buffer refill per document for the positions of a term.
-
Constructor Summary
Constructors Constructor Description TermIntervalsSource(BytesRef term)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
equals(java.lang.Object o)
int
hashCode()
IntervalIterator
intervals(java.lang.String field, LeafReaderContext ctx)
Create anIntervalIterator
exposing the minimum intervals defined by thisIntervalsSource
(package private) static IntervalIterator
intervals(BytesRef term, TermsEnum te)
IntervalMatchesIterator
matches(java.lang.String field, LeafReaderContext ctx, int doc)
Return aMatchesIterator
over the intervals defined by thisIntervalsSource
for a given document and field(package private) static IntervalMatchesIterator
matches(TermsEnum te, int doc, java.lang.String field)
int
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(package private) static float
termPositionsCost(TermsEnum termsEnum)
Returns an expected cost in simple operations of processing the occurrences of a term in a document that contains the term.java.lang.String
toString()
void
visit(java.lang.String field, QueryVisitor visitor)
Expert: visit the tree of sources
-
-
-
Field Detail
-
term
final BytesRef term
-
TERM_POSNS_SEEK_OPS_PER_DOC
private static final int TERM_POSNS_SEEK_OPS_PER_DOC
A guess of the average number of simple operations for the initial seek and buffer refill per document for the positions of a term. See alsoLucene90PostingsReader.EverythingEnum#nextPosition()
.Aside: Instead of being constant this could depend among others on
Lucene90PostingsFormat.BLOCK_SIZE
,TermsEnum.docFreq()
,TermsEnum.totalTermFreq()
,DocIdSetIterator.cost()
(expected number of matching docs),IndexReader.maxDoc()
(total number of docs in the segment), and the seek time and block size of the device storing the index.- See Also:
- Constant Field Values
-
TERM_OPS_PER_POS
private static final int TERM_OPS_PER_POS
Number of simple operations inLucene90PostingsReader.EverythingEnum#nextPosition()
when no seek or buffer refill is done.- See Also:
- Constant Field Values
-
-
Constructor Detail
-
TermIntervalsSource
TermIntervalsSource(BytesRef term)
-
-
Method Detail
-
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
Returns
null
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
-
intervals
static IntervalIterator intervals(BytesRef term, TermsEnum te) throws java.io.IOException
- 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 fieldReturns
null
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
-
matches
static IntervalMatchesIterator matches(TermsEnum te, int doc, java.lang.String field) throws java.io.IOException
- Throws:
java.io.IOException
-
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 IntervalsSourceMost implementations can return
Collections.singleton(this)
- Specified by:
pullUpDisjunctions
in classIntervalsSource
-
hashCode
public int hashCode()
- Specified by:
hashCode
in classIntervalsSource
-
equals
public boolean equals(java.lang.Object o)
- Specified by:
equals
in classIntervalsSource
-
toString
public java.lang.String toString()
- Specified by:
toString
in classIntervalsSource
-
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
-
termPositionsCost
static float termPositionsCost(TermsEnum termsEnum) throws java.io.IOException
Returns an expected cost in simple operations of processing the occurrences of a term in a document that contains the term. This is for use byTwoPhaseIterator.matchCost()
implementations.- Parameters:
termsEnum
- The term is the term at which this TermsEnum is positioned.- Throws:
java.io.IOException
-
-