public final class MultiTermsEnum extends TermsEnum
TermsEnum
API, merged from TermsEnum
API of sub-segments.
This does a merge sort, by term text, of the sub-readers.TermsEnum.SeekStatus
Constructor and Description |
---|
MultiTermsEnum(ReaderSlice[] slices)
Sole constructor.
|
Modifier and Type | Method and Description |
---|---|
int |
docFreq()
Returns the number of documents containing the current
term.
|
DocsEnum |
docs(Bits liveDocs,
DocsEnum reuse,
int flags)
Get
DocsEnum for the current term, with
control over whether freqs are required. |
DocsAndPositionsEnum |
docsAndPositions(Bits liveDocs,
DocsAndPositionsEnum reuse,
int flags)
Get
DocsAndPositionsEnum for the current term,
with control over whether offsets and payloads are
required. |
Comparator<BytesRef> |
getComparator()
Return the
BytesRef Comparator used to sort terms provided by the
iterator. |
org.apache.lucene.index.MultiTermsEnum.TermsEnumWithSlice[] |
getMatchArray()
Returns sub-reader slices positioned to the current term.
|
int |
getMatchCount()
Returns how many sub-reader slices contain the current
term.
|
BytesRef |
next()
Increments the iteration to the next
BytesRef in the iterator. |
long |
ord()
Returns ordinal position for current term.
|
TermsEnum |
reset(org.apache.lucene.index.MultiTermsEnum.TermsEnumIndex[] termsEnumsIndex)
The terms array must be newly created TermsEnum, ie
BytesRefIterator.next() has not yet been called. |
TermsEnum.SeekStatus |
seekCeil(BytesRef term,
boolean useCache)
Expert: just like
TermsEnum.seekCeil(BytesRef) but allows
you to control whether the implementation should
attempt to use its term cache (if it uses one). |
boolean |
seekExact(BytesRef term,
boolean useCache)
Attempts to seek to the exact term, returning
true if the term is found.
|
void |
seekExact(long ord)
Seeks to the specified term by ordinal (position) as
previously returned by
TermsEnum.ord() . |
BytesRef |
term()
Returns current term.
|
String |
toString() |
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).
|
attributes, docs, docsAndPositions, seekCeil, seekExact, termState
public MultiTermsEnum(ReaderSlice[] slices)
slices
- Which sub-reader slices we should
merge.public int getMatchCount()
public org.apache.lucene.index.MultiTermsEnum.TermsEnumWithSlice[] getMatchArray()
public BytesRef term()
TermsEnum
public Comparator<BytesRef> getComparator()
BytesRefIterator
BytesRef
Comparator used to sort terms provided by the
iterator. This may return null if there are no items or the iterator is not
sorted. Callers may invoke this method many times, so it's best to cache a
single instance & reuse it.public TermsEnum reset(org.apache.lucene.index.MultiTermsEnum.TermsEnumIndex[] termsEnumsIndex) throws IOException
BytesRefIterator.next()
has not yet been called.IOException
public boolean seekExact(BytesRef term, boolean useCache) throws IOException
TermsEnum
TermsEnum.seekCeil(org.apache.lucene.util.BytesRef, boolean)
.seekExact
in class TermsEnum
IOException
public TermsEnum.SeekStatus seekCeil(BytesRef term, boolean useCache) throws IOException
TermsEnum
TermsEnum.seekCeil(BytesRef)
but allows
you to control whether the implementation should
attempt to use its term cache (if it uses one).seekCeil
in class TermsEnum
IOException
public void seekExact(long ord)
TermsEnum
TermsEnum.ord()
. The target ord
may be before or after the current ord, and must be
within bounds.public long ord()
TermsEnum
UnsupportedOperationException
). Do not call this
when the enum is unpositioned.public BytesRef next() throws IOException
BytesRefIterator
BytesRef
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.IOException
- If there is a low-level I/O error.public int docFreq() throws IOException
TermsEnum
TermsEnum.SeekStatus.END
.docFreq
in class TermsEnum
IOException
public long totalTermFreq() throws IOException
TermsEnum
totalTermFreq
in class TermsEnum
IOException
public DocsEnum docs(Bits liveDocs, DocsEnum reuse, int flags) throws IOException
TermsEnum
DocsEnum
for the current term, with
control over whether freqs are required. Do not
call this when the enum is unpositioned. This method
will not return null.docs
in class TermsEnum
liveDocs
- unset bits are documents that should not
be returnedreuse
- pass a prior DocsEnum for possible reuseflags
- specifies which optional per-document values
you require; see DocsEnum.FLAG_FREQS
IOException
TermsEnum.docs(Bits, DocsEnum, int)
public DocsAndPositionsEnum docsAndPositions(Bits liveDocs, DocsAndPositionsEnum reuse, int flags) throws IOException
TermsEnum
DocsAndPositionsEnum
for the current term,
with control over whether offsets and payloads are
required. Some codecs may be able to optimize their
implementation when offsets and/or payloads are not required.
Do not call this when the enum is unpositioned. This
will return null if positions were not indexed.docsAndPositions
in class TermsEnum
liveDocs
- unset bits are documents that should not
be returnedreuse
- pass a prior DocsAndPositionsEnum for possible reuseflags
- specifies which optional per-position values you
require; see DocsAndPositionsEnum.FLAG_OFFSETS
and
DocsAndPositionsEnum.FLAG_PAYLOADS
.IOException
Copyright © 2000-2012 Apache Software Foundation. All Rights Reserved.