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 Classes Modifier and Type Class Description private class
FSTTermsReader.TermsReader.IntersectTermsEnum.Frame
-
Nested classes/interfaces inherited from class org.apache.lucene.index.TermsEnum
TermsEnum.SeekStatus
-
-
Field Summary
Fields Modifier and Type Field Description (package private) boolean
decoded
(package private) ByteRunAutomaton
fsa
(package private) FST<FSTTermOutputs.TermData>
fst
(package private) Outputs<FSTTermOutputs.TermData>
fstOutputs
(package private) FST.BytesReader
fstReader
(package private) int
level
(package private) int
metaUpto
(package private) boolean
pending
(package private) FSTTermsReader.TermsReader.IntersectTermsEnum.Frame[]
stack
(package private) BytesRefBuilder
term
-
Fields inherited from class org.apache.lucene.codecs.memory.FSTTermsReader.TermsReader.BaseTermsEnum
bytesReader, meta, state
-
-
Constructor Summary
Constructors Constructor Description IntersectTermsEnum(CompiledAutomaton compiled, BytesRef startTerm)
-
Method Summary
-
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 Detail
-
term
BytesRefBuilder term
-
decoded
boolean decoded
-
pending
boolean pending
-
stack
FSTTermsReader.TermsReader.IntersectTermsEnum.Frame[] stack
-
level
int level
-
metaUpto
int metaUpto
-
fst
final FST<FSTTermOutputs.TermData> fst
-
fstReader
final FST.BytesReader fstReader
-
fstOutputs
final Outputs<FSTTermOutputs.TermData> fstOutputs
-
fsa
final ByteRunAutomaton fsa
-
-
Constructor Detail
-
IntersectTermsEnum
IntersectTermsEnum(CompiledAutomaton compiled, BytesRef startTerm) throws java.io.IOException
- Throws:
java.io.IOException
-
-
Method Detail
-
term
public BytesRef term() throws java.io.IOException
Description copied from class:TermsEnum
Returns current term. Do not call this when the enum is unpositioned.
-
decodeMetaData
void decodeMetaData() throws java.io.IOException
Description copied from class:FSTTermsReader.TermsReader.BaseTermsEnum
Decodes metadata into customized term state- Specified by:
decodeMetaData
in classFSTTermsReader.TermsReader.BaseTermsEnum
- Throws:
java.io.IOException
-
loadMetaData
void loadMetaData()
Lazily accumulate meta data, when we got a accepted term
-
seekCeil
public TermsEnum.SeekStatus seekCeil(BytesRef target) throws java.io.IOException
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.
-
next
public BytesRef next() throws java.io.IOException
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:
java.io.IOException
- If there is a low-level I/O error.
-
doSeekCeil
private BytesRef doSeekCeil(BytesRef target) throws java.io.IOException
- Throws:
java.io.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 java.io.IOException
Load frame for start arc(node) on fst- Throws:
java.io.IOException
-
loadExpandFrame
FSTTermsReader.TermsReader.IntersectTermsEnum.Frame loadExpandFrame(FSTTermsReader.TermsReader.IntersectTermsEnum.Frame top, FSTTermsReader.TermsReader.IntersectTermsEnum.Frame frame) throws java.io.IOException
Load frame for target arc(node) on fst- Throws:
java.io.IOException
-
loadNextFrame
FSTTermsReader.TermsReader.IntersectTermsEnum.Frame loadNextFrame(FSTTermsReader.TermsReader.IntersectTermsEnum.Frame top, FSTTermsReader.TermsReader.IntersectTermsEnum.Frame frame) throws java.io.IOException
Load frame for sibling arc(node) on fst- Throws:
java.io.IOException
-
loadCeilFrame
FSTTermsReader.TermsReader.IntersectTermsEnum.Frame loadCeilFrame(int label, FSTTermsReader.TermsReader.IntersectTermsEnum.Frame top, FSTTermsReader.TermsReader.IntersectTermsEnum.Frame frame) throws java.io.IOException
Load frame for target arc(node) on fst, so that arc.label >= label and !fsa.reject(arc.label)- Throws:
java.io.IOException
-
isAccept
boolean isAccept(FSTTermsReader.TermsReader.IntersectTermsEnum.Frame frame)
-
isValid
boolean isValid(FSTTermsReader.TermsReader.IntersectTermsEnum.Frame frame)
-
canGrow
boolean canGrow(FSTTermsReader.TermsReader.IntersectTermsEnum.Frame frame)
-
canRewind
boolean canRewind(FSTTermsReader.TermsReader.IntersectTermsEnum.Frame frame)
-
pushFrame
void pushFrame(FSTTermsReader.TermsReader.IntersectTermsEnum.Frame frame)
-
popFrame
FSTTermsReader.TermsReader.IntersectTermsEnum.Frame popFrame()
-
newFrame
FSTTermsReader.TermsReader.IntersectTermsEnum.Frame newFrame()
-
topFrame
FSTTermsReader.TermsReader.IntersectTermsEnum.Frame topFrame()
-
grow
BytesRefBuilder grow(int label)
-
shrink
BytesRefBuilder shrink()
-
-