protected static class IntersectBlockReader.AutomatonNextTermCalculator extends Object
Modifier and Type | Field and Description |
---|---|
protected Automaton |
automaton |
protected BytesRef |
commonSuffixRef |
protected long |
curGen |
protected boolean |
finite |
protected boolean |
linear |
protected BytesRef |
linearUpperBound |
protected ByteRunAutomaton |
runAutomaton |
protected IntsRefBuilder |
savedStates |
protected BytesRefBuilder |
seekBytesRef |
protected Transition |
transition |
protected long[] |
visited |
Modifier | Constructor and Description |
---|---|
protected |
AutomatonNextTermCalculator(CompiledAutomaton compiled) |
Modifier and Type | Method and Description |
---|---|
protected int |
backtrack(int position)
Attempts to backtrack thru the string after encountering a dead end
at some given position.
|
protected boolean |
isLinearState(BytesRef term)
True if the current state of the automata is best iterated linearly (without seeking).
|
protected BytesRef |
nextSeekTerm(BytesRef term) |
protected boolean |
nextString()
Increments the byte buffer to the next String in binary order after s that will not put
the machine into a reject state.
|
protected boolean |
nextString(int state,
int position)
Returns the next String in lexicographic order that will not put
the machine into a reject state.
|
protected void |
setLinear(int position)
Sets the enum to operate in linear fashion, as we have found
a looping transition at position: we set an upper bound and
act like a TermRangeQuery for this portion of the term space.
|
protected final ByteRunAutomaton runAutomaton
protected final BytesRef commonSuffixRef
protected final boolean finite
protected final Automaton automaton
protected final long[] visited
protected long curGen
protected final BytesRefBuilder seekBytesRef
protected boolean linear
protected final BytesRef linearUpperBound
protected Transition transition
protected final IntsRefBuilder savedStates
protected AutomatonNextTermCalculator(CompiledAutomaton compiled)
protected boolean isLinearState(BytesRef term)
protected BytesRef nextSeekTerm(BytesRef term) throws IOException
IOException
FilteredTermsEnum.nextSeekTerm(BytesRef)
protected void setLinear(int position)
protected boolean nextString()
protected boolean nextString(int state, int position)
state
- current non-reject stateposition
- useful portion of the stringprotected int backtrack(int position)
position
- current position in the input Stringposition >= 0
if more possible solutions exist for the DFACopyright © 2000-2020 Apache Software Foundation. All Rights Reserved.