public class MemoryIndexOffsetStrategy extends AnalysisOffsetStrategy
Analyzer on content to get offsets and then populates a MemoryIndex.| Modifier and Type | Field and Description |
|---|---|
private LeafReader |
leafReader |
private MemoryIndex |
memoryIndex |
private CharacterRunAutomaton |
preMemIndexFilterAutomaton |
analyzerautomata, field, phraseHelper, terms| Constructor and Description |
|---|
MemoryIndexOffsetStrategy(java.lang.String field,
java.util.function.Predicate<java.lang.String> fieldMatcher,
BytesRef[] extractedTerms,
PhraseHelper phraseHelper,
CharacterRunAutomaton[] automata,
Analyzer analyzer,
java.util.function.Function<Query,java.util.Collection<Query>> multiTermQueryRewrite) |
| Modifier and Type | Method and Description |
|---|---|
private static CharacterRunAutomaton |
buildCombinedAutomaton(java.util.function.Predicate<java.lang.String> fieldMatcher,
BytesRef[] terms,
CharacterRunAutomaton[] automata,
PhraseHelper strictPhrases,
java.util.function.Function<Query,java.util.Collection<Query>> multiTermQueryRewrite)
Build one
CharacterRunAutomaton matching any term the query might match. |
java.util.List<OffsetsEnum> |
getOffsetsEnums(IndexReader reader,
int docId,
java.lang.String content)
The primary method -- return offsets for highlightable words in the specified document.
|
private static FilteringTokenFilter |
newKeepWordFilter(TokenStream tokenStream,
CharacterRunAutomaton charRunAutomaton) |
getOffsetSource, tokenStreamcreateAutomataOffsetsFromTerms, createOffsetsEnumsFromReader, getFieldprivate final MemoryIndex memoryIndex
private final LeafReader leafReader
private final CharacterRunAutomaton preMemIndexFilterAutomaton
public MemoryIndexOffsetStrategy(java.lang.String field,
java.util.function.Predicate<java.lang.String> fieldMatcher,
BytesRef[] extractedTerms,
PhraseHelper phraseHelper,
CharacterRunAutomaton[] automata,
Analyzer analyzer,
java.util.function.Function<Query,java.util.Collection<Query>> multiTermQueryRewrite)
private static CharacterRunAutomaton buildCombinedAutomaton(java.util.function.Predicate<java.lang.String> fieldMatcher, BytesRef[] terms, CharacterRunAutomaton[] automata, PhraseHelper strictPhrases, java.util.function.Function<Query,java.util.Collection<Query>> multiTermQueryRewrite)
CharacterRunAutomaton matching any term the query might match.public java.util.List<OffsetsEnum> getOffsetsEnums(IndexReader reader, int docId, java.lang.String content) throws java.io.IOException
FieldOffsetStrategygetOffsetsEnums in class FieldOffsetStrategyjava.io.IOExceptionprivate static FilteringTokenFilter newKeepWordFilter(TokenStream tokenStream, CharacterRunAutomaton charRunAutomaton)