|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.apache.lucene.index.TermsEnum
public abstract class TermsEnum
Iterator to seek (seekCeil(BytesRef)
, seekExact(BytesRef)
) or step through (BytesRefIterator.next()
terms to obtain frequency information (docFreq()
), DocsEnum
or DocsAndPositionsEnum
for the current term (docs(org.apache.lucene.util.Bits, org.apache.lucene.index.DocsEnum)
.
Term enumerations are always ordered by
BytesRefIterator.getComparator()
. Each term in the enumeration is
greater than the one before it.
The TermsEnum is unpositioned when you first obtain it
and you must first successfully call BytesRefIterator.next()
or one
of the seek
methods.
Nested Class Summary | |
---|---|
static class |
TermsEnum.SeekStatus
Represents returned result from seekCeil(org.apache.lucene.util.BytesRef) . |
Field Summary | |
---|---|
static TermsEnum |
EMPTY
An empty TermsEnum for quickly returning an empty instance e.g. |
Constructor Summary | |
---|---|
protected |
TermsEnum()
Sole constructor. |
Method Summary | |
---|---|
AttributeSource |
attributes()
Returns the related attributes. |
abstract int |
docFreq()
Returns the number of documents containing the current term. |
DocsEnum |
docs(Bits liveDocs,
DocsEnum reuse)
Get DocsEnum for the current term. |
abstract 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)
Get DocsAndPositionsEnum for the current term. |
abstract DocsAndPositionsEnum |
docsAndPositions(Bits liveDocs,
DocsAndPositionsEnum reuse,
int flags)
Get DocsAndPositionsEnum for the current term,
with control over whether offsets and payloads are
required. |
abstract long |
ord()
Returns ordinal position for current term. |
abstract 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 termState() . |
abstract void |
seekExact(long ord)
Seeks to the specified term by ordinal (position) as previously returned by ord() . |
abstract BytesRef |
term()
Returns current term. |
TermState |
termState()
Expert: Returns the TermsEnums internal state to position the TermsEnum without re-seeking the term dictionary. |
abstract 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). |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Methods inherited from interface org.apache.lucene.util.BytesRefIterator |
---|
getComparator, next |
Field Detail |
---|
public static final TermsEnum EMPTY
MultiTermQuery
Please note: This enum should be unmodifiable, but it is currently possible to add Attributes to it. This should not be a problem, as the enum is always empty and the existence of unused Attributes does not matter.
Constructor Detail |
---|
protected TermsEnum()
Method Detail |
---|
public AttributeSource attributes()
public boolean seekExact(BytesRef text) throws IOException
seekCeil(org.apache.lucene.util.BytesRef)
.
IOException
public abstract TermsEnum.SeekStatus seekCeil(BytesRef text) throws IOException
IOException
public abstract void seekExact(long ord) throws IOException
ord()
. The target ord
may be before or after the current ord, and must be
within bounds.
IOException
public void seekExact(BytesRef term, TermState state) throws IOException
TermState
previously obtained
from 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.
term
- the term the TermState corresponds tostate
- the TermState
IOException
public abstract BytesRef term() throws IOException
IOException
public abstract long ord() throws IOException
UnsupportedOperationException
). Do not call this
when the enum is unpositioned.
IOException
public abstract int docFreq() throws IOException
TermsEnum.SeekStatus.END
.
IOException
public abstract long totalTermFreq() throws IOException
IOException
public final DocsEnum docs(Bits liveDocs, DocsEnum reuse) throws IOException
DocsEnum
for the current term. Do not
call this when the enum is unpositioned. This method
will not return null.
liveDocs
- unset bits are documents that should not
be returnedreuse
- pass a prior DocsEnum for possible reuse
IOException
public abstract DocsEnum docs(Bits liveDocs, DocsEnum reuse, int flags) throws IOException
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.
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
docs(Bits, DocsEnum, int)
public final DocsAndPositionsEnum docsAndPositions(Bits liveDocs, DocsAndPositionsEnum reuse) throws IOException
DocsAndPositionsEnum
for the current term.
Do not call this when the enum is unpositioned. This
method will return null if positions were not
indexed.
liveDocs
- unset bits are documents that should not
be returnedreuse
- pass a prior DocsAndPositionsEnum for possible reuse
IOException
docsAndPositions(Bits, DocsAndPositionsEnum, int)
public abstract DocsAndPositionsEnum docsAndPositions(Bits liveDocs, DocsAndPositionsEnum reuse, int flags) throws IOException
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.
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
public TermState termState() throws IOException
NOTE: A seek by TermState
might not capture the
AttributeSource
's state. Callers must maintain the
AttributeSource
states separately
IOException
TermState
,
seekExact(BytesRef, TermState)
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |