Module org.apache.lucene.codecs
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 classNested 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) BytesRefBuilderFields 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) voidDecodes metadata into customized term stateprivate BytesRefdoSeekCeil(BytesRef target) (package private) BytesRefBuildergrow(int label) (package private) boolean(package private) boolean(package private) FSTTermsReader.TermsReader.IntersectTermsEnum.FrameloadCeilFrame(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.FrameloadExpandFrame(FSTTermsReader.TermsReader.IntersectTermsEnum.Frame top, FSTTermsReader.TermsReader.IntersectTermsEnum.Frame frame) Load frame for target arc(node) on fst(package private) FSTTermsReader.TermsReader.IntersectTermsEnum.FrameLoad frame for start arc(node) on fst(package private) voidLazily accumulate meta data, when we got a accepted term(package private) FSTTermsReader.TermsReader.IntersectTermsEnum.FrameloadNextFrame(FSTTermsReader.TermsReader.IntersectTermsEnum.Frame top, FSTTermsReader.TermsReader.IntersectTermsEnum.Frame frame) Load frame for sibling arc(node) on fst(package private) FSTTermsReader.TermsReader.IntersectTermsEnum.FrameVirtual frame, never pop(package private) FSTTermsReader.TermsReader.IntersectTermsEnum.FramenewFrame()next()Increments the iteration to the nextBytesRefin the iterator.(package private) FSTTermsReader.TermsReader.IntersectTermsEnum.FramepopFrame()(package private) voidSeeks to the specified term, if it exists, or to the next (ceiling) term.(package private) BytesRefBuildershrink()term()Returns current term.(package private) FSTTermsReader.TermsReader.IntersectTermsEnum.FrametopFrame()Methods inherited from class org.apache.lucene.codecs.memory.FSTTermsReader.TermsReader.BaseTermsEnum
docFreq, impacts, ord, postings, seekExact, termState, totalTermFreqMethods 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:TermsEnumReturns current term. Do not call this when the enum is unpositioned.- Specified by:
termin classTermsEnum- Throws:
IOException
-
decodeMetaData
Description copied from class:FSTTermsReader.TermsReader.BaseTermsEnumDecodes metadata into customized term state- Specified by:
decodeMetaDatain classFSTTermsReader.TermsReader.BaseTermsEnum- Throws:
IOException
-
loadMetaData
void loadMetaData()Lazily accumulate meta data, when we got a accepted term -
seekCeil
Description copied from class:TermsEnumSeeks 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:
seekCeilin classTermsEnum- Throws:
IOException
-
next
Description copied from interface:BytesRefIteratorIncrements the iteration to the nextBytesRefin the iterator. Returns the resultingBytesRefornullif 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
BytesRefin the iterator ornullif 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()
-