Class CustomUnifiedHighlighter
org.apache.lucene.search.uhighlight.UnifiedHighlighter
org.apache.lucene.search.uhighlight.CustomUnifiedHighlighter
public class CustomUnifiedHighlighter
extends org.apache.lucene.search.uhighlight.UnifiedHighlighter
Subclass of the
UnifiedHighlighter
that works for a single field in a single document.
Uses a custom PassageFormatter
. Accepts field content as a constructor
argument, given that loadings field value can be done reading from _source field.
Supports using different to break the text into fragments. Considers every distinct field
value as a discrete passage for highlighting (unless the whole content needs to be highlighted).
Supports both returning empty snippets and non highlighted snippets when no highlighting can be performed.-
Nested Class Summary
Nested classes/interfaces inherited from class org.apache.lucene.search.uhighlight.UnifiedHighlighter
org.apache.lucene.search.uhighlight.UnifiedHighlighter.HighlightFlag, org.apache.lucene.search.uhighlight.UnifiedHighlighter.LimitedStoredFieldVisitor, org.apache.lucene.search.uhighlight.UnifiedHighlighter.OffsetSource
-
Field Summary
Fields inherited from class org.apache.lucene.search.uhighlight.UnifiedHighlighter
DEFAULT_CACHE_CHARS_THRESHOLD, DEFAULT_MAX_LENGTH, fieldInfos, indexAnalyzer, searcher, ZERO_LEN_AUTOMATA_ARRAY
-
Constructor Summary
ConstructorDescriptionCustomUnifiedHighlighter(org.apache.lucene.search.IndexSearcher searcher, org.apache.lucene.analysis.Analyzer analyzer, org.apache.lucene.search.uhighlight.UnifiedHighlighter.OffsetSource offsetSource, org.apache.lucene.search.uhighlight.PassageFormatter passageFormatter, breakIteratorLocale, breakIterator, index, field, org.apache.lucene.search.Query query, int noMatchSize, int maxPassages, <> fieldMatcher, int maxAnalyzedOffset, queryMaxAnalyzedOffset)
Creates a new instance ofCustomUnifiedHighlighter
-
Method Summary
Modifier and TypeMethodDescriptionprotected
field)
protected org.apache.lucene.search.uhighlight.FieldHighlighter
field, org.apache.lucene.search.Query query, <org.apache.lucene.index.Term> allTerms, int maxPassages)
org.apache.lucene.search.uhighlight.PassageFormatter
protected org.apache.lucene.search.uhighlight.PassageFormatter
field)
protected org.apache.lucene.search.uhighlight.UnifiedHighlighter.OffsetSource
field)
Forces the offset source for this highlighterSnippet[]
highlightField(org.apache.lucene.index.LeafReader reader, int docId, ,> loadFieldValue)
Highlights the field value.protected <org.apache.lucene.search.Query>
preSpanQueryRewrite(org.apache.lucene.search.Query query)
Methods inherited from class org.apache.lucene.search.uhighlight.UnifiedHighlighter
extractTerms, filterExtractedTerms, getAutomata, getCacheFieldValCharsThreshold, getFieldInfo, getFieldMatcher, getFlags, getHighlightComponents, getIndexAnalyzer, getIndexSearcher, getMaxLength, getMaxNoHighlightPassages, getOffsetStrategy, getOptimizedOffsetSource, getPhraseHelper, getScorer, hasUnrecognizedQuery, highlight, highlight, highlightFields, highlightFields, highlightFields, highlightFieldsAsObjects, highlightWithoutSearcher, loadFieldValues, newLimitedStoredFieldsVisitor, requiresRewrite, setBreakIterator, setCacheFieldValCharsThreshold, setFieldMatcher, setFormatter, setHandleMultiTermQuery, setHighlightPhrasesStrictly, setMaxLength, setMaxNoHighlightPassages, setScorer, shouldHandleMultiTermQuery, shouldHighlightPhrasesStrictly, shouldPreferPassageRelevancyOverSpeed
Methods inherited from class java.lang.
, , , , , , , , , ,
-
Field Details
-
MULTIVAL_SEP_CHAR
public static final char MULTIVAL_SEP_CHAR- See Also:
- Constant Field Values
-
-
Constructor Details
-
CustomUnifiedHighlighter
public CustomUnifiedHighlighter(org.apache.lucene.search.IndexSearcher searcher, org.apache.lucene.analysis.Analyzer analyzer, org.apache.lucene.search.uhighlight.UnifiedHighlighter.OffsetSource offsetSource, org.apache.lucene.search.uhighlight.PassageFormatter passageFormatter, @Nullable breakIteratorLocale, @Nullable breakIterator, index, field, org.apache.lucene.search.Query query, int noMatchSize, int maxPassages, <> fieldMatcher, int maxAnalyzedOffset, queryMaxAnalyzedOffset) throwsCreates a new instance ofCustomUnifiedHighlighter
- Parameters:
analyzer
- the analyzer used for the field at index time, used for multi term queries internally.offsetSource
- theUnifiedHighlighter.OffsetSource
to used for offsets retrieval.passageFormatter
- our ownCustomPassageFormatter
which generates snippets in forms ofSnippet
objects.breakIteratorLocale
- the to use for dividing text into passages. If null is used.breakIterator
- the to use for dividing text into passages. If null is used.index
- the index we're highlighting, mostly used for error messagesfield
- the name of the field we're highlightingquery
- the query we're highlightingnoMatchSize
- The size of the text that should be returned when no highlighting can be performed.maxPassages
- the maximum number of passes to highlightfieldMatcher
- decides which terms should be highlightedmaxAnalyzedOffset
- if the field is more than this long we'll refuse to use the ANALYZED offset source for it because it'd be super slow- Throws:
-
-
Method Details
-
highlightField
public Snippet[] highlightField(org.apache.lucene.index.LeafReader reader, int docId, ,> loadFieldValue) throwsHighlights the field value.- Throws:
-
getBreakIterator
protected getBreakIterator( field)- Overrides:
getBreakIterator
in classorg.apache.lucene.search.uhighlight.UnifiedHighlighter
-
getFormatter
public org.apache.lucene.search.uhighlight.PassageFormatter getFormatter() -
getFormatter
protected org.apache.lucene.search.uhighlight.PassageFormatter getFormatter( field)- Overrides:
getFormatter
in classorg.apache.lucene.search.uhighlight.UnifiedHighlighter
-
getFieldHighlighter
protected org.apache.lucene.search.uhighlight.FieldHighlighter getFieldHighlighter( field, org.apache.lucene.search.Query query, <org.apache.lucene.index.Term> allTerms, int maxPassages)- Overrides:
getFieldHighlighter
in classorg.apache.lucene.search.uhighlight.UnifiedHighlighter
-
preSpanQueryRewrite
protected <org.apache.lucene.search.Query> preSpanQueryRewrite(org.apache.lucene.search.Query query)- Overrides:
preSpanQueryRewrite
in classorg.apache.lucene.search.uhighlight.UnifiedHighlighter
-
getOffsetSource
protected org.apache.lucene.search.uhighlight.UnifiedHighlighter.OffsetSource getOffsetSource( field)Forces the offset source for this highlighter- Overrides:
getOffsetSource
in classorg.apache.lucene.search.uhighlight.UnifiedHighlighter
-