public class STMergingTermsEnum extends TermsEnum
PostingsEnum for the same term for a given field from
multiple segments. It is used during segment merging.| Modifier and Type | Class and Description |
|---|---|
protected class |
STMergingTermsEnum.MultiSegmentsPostingsEnum
Combines multiple segments
PostingsEnum as a single PostingsEnum,
for one field and one term. |
TermsEnum.SeekStatus| Modifier and Type | Field and Description |
|---|---|
protected java.lang.String |
fieldName |
protected STMergingTermsEnum.MultiSegmentsPostingsEnum |
multiPostingsEnum |
protected BytesRef |
term |
| Modifier | Constructor and Description |
|---|---|
protected |
STMergingTermsEnum(java.lang.String fieldName,
int numSegments)
Constructs a
STMergingTermsEnum for a given field. |
| Modifier and Type | Method and Description |
|---|---|
AttributeSource |
attributes()
Returns the related attributes.
|
int |
docFreq()
Returns the number of documents containing the current
term.
|
ImpactsEnum |
impacts(int flags)
Return a
ImpactsEnum. |
BytesRef |
next()
Increments the iteration to the next
BytesRef in the iterator. |
long |
ord()
Returns ordinal position for current term.
|
PostingsEnum |
postings(PostingsEnum reuse,
int flags)
Get
PostingsEnum for the current term, with
control over whether freqs, positions, offsets or payloads
are required. |
protected void |
reset(BytesRef term,
java.util.List<STUniformSplitTermsWriter.SegmentPostings> segmentPostings)
Resets this
STMergingTermsEnum with a new term and its list of
STUniformSplitTermsWriter.SegmentPostings to combine. |
TermsEnum.SeekStatus |
seekCeil(BytesRef text)
Seeks to the specified term, if it exists, or to the
next (ceiling) term.
|
boolean |
seekExact(BytesRef text)
Attempts to seek to the exact term, returning true if the term is found.
|
void |
seekExact(BytesRef term,
TermState state)
Expert: Seeks a specific position by
TermState previously obtained
from TermsEnum.termState(). |
void |
seekExact(long ord)
Seeks to the specified term by ordinal (position) as
previously returned by
TermsEnum.ord(). |
BytesRef |
term()
Returns current term.
|
TermState |
termState()
Expert: Returns the TermsEnums internal state to position the TermsEnum
without re-seeking the term dictionary.
|
long |
totalTermFreq()
Returns the total number of occurrences of this term
across all documents (the sum of the freq() for each
doc that has this term).
|
protected final java.lang.String fieldName
protected final STMergingTermsEnum.MultiSegmentsPostingsEnum multiPostingsEnum
protected BytesRef term
protected STMergingTermsEnum(java.lang.String fieldName,
int numSegments)
STMergingTermsEnum for a given field.protected void reset(BytesRef term, java.util.List<STUniformSplitTermsWriter.SegmentPostings> segmentPostings)
STMergingTermsEnum with a new term and its list of
STUniformSplitTermsWriter.SegmentPostings to combine.segmentPostings - List sorted by segment index.public AttributeSource attributes()
TermsEnumattributes in class TermsEnumpublic boolean seekExact(BytesRef text) throws java.io.IOException
TermsEnumTermsEnum.seekCeil(org.apache.lucene.util.BytesRef).
public TermsEnum.SeekStatus seekCeil(BytesRef text)
TermsEnumpublic void seekExact(long ord)
TermsEnumTermsEnum.ord(). The target ord
may be before or after the current ord, and must be
within bounds.public void seekExact(BytesRef term, TermState state) throws java.io.IOException
TermsEnumTermState previously obtained
from TermsEnum.termState(). Callers should maintain the TermState to
use this method. Low-level implementations may position the TermsEnum
without re-seeking the term dictionary.
Seeking by TermState should only be used iff the state was obtained
from the same TermsEnum instance.
NOTE: Using this method with an incompatible TermState might leave
this TermsEnum in undefined state. On a segment level
TermState instances are compatible only iff the source and the
target TermsEnum operate on the same field. If operating on segment
level, TermState instances must not be used across segments.
NOTE: A seek by TermState might not restore the
AttributeSource's state. AttributeSource states must be
maintained separately if this method is used.
public BytesRef term()
TermsEnumpublic long ord()
TermsEnumUnsupportedOperationException). Do not call this
when the enum is unpositioned.public int docFreq()
TermsEnumTermsEnum.SeekStatus.END.public long totalTermFreq()
TermsEnumtotalTermFreq in class TermsEnumpublic PostingsEnum postings(PostingsEnum reuse, int flags)
TermsEnumPostingsEnum for the current term, with
control over whether freqs, positions, offsets or payloads
are required. Do not call this when the enum is
unpositioned. This method will not return null.
NOTE: the returned iterator may return deleted documents, so
deleted documents have to be checked on top of the PostingsEnum.
postings in class TermsEnumreuse - pass a prior PostingsEnum for possible reuseflags - specifies which optional per-document values
you require; see PostingsEnum.FREQSpublic ImpactsEnum impacts(int flags)
TermsEnumImpactsEnum.impacts in class TermsEnumTermsEnum.postings(PostingsEnum, int)public TermState termState()
TermsEnum
NOTE: A seek by TermState might not capture the
AttributeSource's state. Callers must maintain the
AttributeSource states separately
termState in class TermsEnumTermState,
TermsEnum.seekExact(BytesRef, TermState)public BytesRef next()
BytesRefIteratorBytesRef in the iterator.
Returns the resulting BytesRef or null if the end of
the iterator is reached. The returned BytesRef may be re-used across calls
to next. After this method returns null, do not call it again: the results
are undefined.BytesRef in the iterator or null if
the end of the iterator is reached.