Package org.apache.lucene.codecs.memory
Class FSTTermsReader.TermsReader.IntersectTermsEnum
java.lang.Object
org.apache.lucene.index.TermsEnum
org.apache.lucene.index.BaseTermsEnum
org.apache.lucene.codecs.memory.FSTTermsReader.TermsReader.BaseTermsEnum
org.apache.lucene.codecs.memory.FSTTermsReader.TermsReader.IntersectTermsEnum
- All Implemented Interfaces:
BytesRefIterator
- Enclosing class:
- FSTTermsReader.TermsReader
private final class FSTTermsReader.TermsReader.IntersectTermsEnum
extends FSTTermsReader.TermsReader.BaseTermsEnum
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionprivate final class
Nested classes/interfaces inherited from class org.apache.lucene.index.TermsEnum
TermsEnum.SeekStatus
-
Field Summary
FieldsModifier and TypeFieldDescription(package private) boolean
(package private) final ByteRunAutomaton
(package private) final FST<FSTTermOutputs.TermData>
(package private) final Outputs<FSTTermOutputs.TermData>
(package private) final FST.BytesReader
(package private) int
(package private) int
(package private) boolean
(package private) FSTTermsReader.TermsReader.IntersectTermsEnum.Frame[]
(package private) BytesRefBuilder
Fields inherited from class org.apache.lucene.codecs.memory.FSTTermsReader.TermsReader.BaseTermsEnum
bytesReader, meta, state
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescription(package private) boolean
(package private) boolean
(package private) void
Decodes metadata into customized term stateprivate BytesRef
doSeekCeil
(BytesRef target) (package private) BytesRefBuilder
grow
(int label) (package private) boolean
(package private) boolean
(package private) FSTTermsReader.TermsReader.IntersectTermsEnum.Frame
loadCeilFrame
(int label, FSTTermsReader.TermsReader.IntersectTermsEnum.Frame top, FSTTermsReader.TermsReader.IntersectTermsEnum.Frame frame) Load frame for target arc(node) on fst, so that arc.label >= label and !fsa.reject(arc.label)(package private) FSTTermsReader.TermsReader.IntersectTermsEnum.Frame
loadExpandFrame
(FSTTermsReader.TermsReader.IntersectTermsEnum.Frame top, FSTTermsReader.TermsReader.IntersectTermsEnum.Frame frame) Load frame for target arc(node) on fst(package private) FSTTermsReader.TermsReader.IntersectTermsEnum.Frame
Load frame for start arc(node) on fst(package private) void
Lazily accumulate meta data, when we got a accepted term(package private) FSTTermsReader.TermsReader.IntersectTermsEnum.Frame
loadNextFrame
(FSTTermsReader.TermsReader.IntersectTermsEnum.Frame top, FSTTermsReader.TermsReader.IntersectTermsEnum.Frame frame) Load frame for sibling arc(node) on fst(package private) FSTTermsReader.TermsReader.IntersectTermsEnum.Frame
Virtual frame, never pop(package private) FSTTermsReader.TermsReader.IntersectTermsEnum.Frame
newFrame()
next()
Increments the iteration to the nextBytesRef
in the iterator.(package private) FSTTermsReader.TermsReader.IntersectTermsEnum.Frame
popFrame()
(package private) void
Seeks to the specified term, if it exists, or to the next (ceiling) term.(package private) BytesRefBuilder
shrink()
term()
Returns current term.(package private) FSTTermsReader.TermsReader.IntersectTermsEnum.Frame
topFrame()
Methods inherited from class org.apache.lucene.codecs.memory.FSTTermsReader.TermsReader.BaseTermsEnum
docFreq, impacts, ord, postings, seekExact, termState, totalTermFreq
Methods inherited from class org.apache.lucene.index.BaseTermsEnum
attributes, seekExact, seekExact
-
Field Details
-
term
BytesRefBuilder term -
decoded
boolean decoded -
pending
boolean pending -
stack
-
level
int level -
metaUpto
int metaUpto -
fst
-
fstReader
-
fstOutputs
-
fsa
-
-
Constructor Details
-
IntersectTermsEnum
IntersectTermsEnum(CompiledAutomaton compiled, BytesRef startTerm) throws IOException - Throws:
IOException
-
-
Method Details
-
term
Description copied from class:TermsEnum
Returns current term. Do not call this when the enum is unpositioned.- Specified by:
term
in classTermsEnum
- Throws:
IOException
-
decodeMetaData
Description copied from class:FSTTermsReader.TermsReader.BaseTermsEnum
Decodes metadata into customized term state- Specified by:
decodeMetaData
in classFSTTermsReader.TermsReader.BaseTermsEnum
- Throws:
IOException
-
loadMetaData
void loadMetaData()Lazily accumulate meta data, when we got a accepted term -
seekCeil
Description copied from class:TermsEnum
Seeks to the specified term, if it exists, or to the next (ceiling) term. Returns SeekStatus to indicate whether exact term was found, a different term was found, or EOF was hit. The target term may be before or after the current term. If this returns SeekStatus.END, the enum is unpositioned.- Specified by:
seekCeil
in classTermsEnum
- Throws:
IOException
-
next
Description copied from interface:BytesRefIterator
Increments the iteration to the nextBytesRef
in the iterator. Returns the resultingBytesRef
ornull
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.- Returns:
- the next
BytesRef
in the iterator ornull
if the end of the iterator is reached. - Throws:
IOException
- If there is a low-level I/O error.
-
doSeekCeil
- Throws:
IOException
-
loadVirtualFrame
FSTTermsReader.TermsReader.IntersectTermsEnum.Frame loadVirtualFrame(FSTTermsReader.TermsReader.IntersectTermsEnum.Frame frame) Virtual frame, never pop -
loadFirstFrame
FSTTermsReader.TermsReader.IntersectTermsEnum.Frame loadFirstFrame(FSTTermsReader.TermsReader.IntersectTermsEnum.Frame frame) throws IOException Load frame for start arc(node) on fst- Throws:
IOException
-
loadExpandFrame
FSTTermsReader.TermsReader.IntersectTermsEnum.Frame loadExpandFrame(FSTTermsReader.TermsReader.IntersectTermsEnum.Frame top, FSTTermsReader.TermsReader.IntersectTermsEnum.Frame frame) throws IOException Load frame for target arc(node) on fst- Throws:
IOException
-
loadNextFrame
FSTTermsReader.TermsReader.IntersectTermsEnum.Frame loadNextFrame(FSTTermsReader.TermsReader.IntersectTermsEnum.Frame top, FSTTermsReader.TermsReader.IntersectTermsEnum.Frame frame) throws IOException Load frame for sibling arc(node) on fst- Throws:
IOException
-
loadCeilFrame
FSTTermsReader.TermsReader.IntersectTermsEnum.Frame loadCeilFrame(int label, FSTTermsReader.TermsReader.IntersectTermsEnum.Frame top, FSTTermsReader.TermsReader.IntersectTermsEnum.Frame frame) throws IOException Load frame for target arc(node) on fst, so that arc.label >= label and !fsa.reject(arc.label)- Throws:
IOException
-
isAccept
-
isValid
-
canGrow
-
canRewind
-
pushFrame
-
popFrame
-
newFrame
-
topFrame
-
grow
-
shrink
BytesRefBuilder shrink()
-