public class Highlighter extends Object
Fragmenter
, Scorer
, Formatter
,
Encoder
and tokenizers.
This is Lucene's original Highlighter; there are others.Modifier and Type | Field and Description |
---|---|
static int |
DEFAULT_MAX_CHARS_TO_ANALYZE |
Constructor and Description |
---|
Highlighter(Formatter formatter,
Encoder encoder,
Scorer fragmentScorer) |
Highlighter(Formatter formatter,
Scorer fragmentScorer) |
Highlighter(Scorer fragmentScorer) |
Modifier and Type | Method and Description |
---|---|
String |
getBestFragment(Analyzer analyzer,
String fieldName,
String text)
Highlights chosen terms in a text, extracting the most relevant section.
|
String |
getBestFragment(TokenStream tokenStream,
String text)
Highlights chosen terms in a text, extracting the most relevant section.
|
String[] |
getBestFragments(Analyzer analyzer,
String fieldName,
String text,
int maxNumFragments)
Highlights chosen terms in a text, extracting the most relevant sections.
|
String[] |
getBestFragments(TokenStream tokenStream,
String text,
int maxNumFragments)
Highlights chosen terms in a text, extracting the most relevant sections.
|
String |
getBestFragments(TokenStream tokenStream,
String text,
int maxNumFragments,
String separator)
Highlights terms in the text , extracting the most relevant sections
and concatenating the chosen fragments with a separator (typically "...").
|
TextFragment[] |
getBestTextFragments(TokenStream tokenStream,
String text,
boolean mergeContiguousFragments,
int maxNumFragments)
Low level api to get the most relevant (formatted) sections of the document.
|
Encoder |
getEncoder() |
Scorer |
getFragmentScorer() |
int |
getMaxDocCharsToAnalyze() |
Fragmenter |
getTextFragmenter() |
void |
setEncoder(Encoder encoder) |
void |
setFragmentScorer(Scorer scorer) |
void |
setMaxDocCharsToAnalyze(int maxDocCharsToAnalyze) |
void |
setTextFragmenter(Fragmenter fragmenter) |
public static final int DEFAULT_MAX_CHARS_TO_ANALYZE
public Highlighter(Scorer fragmentScorer)
public final String getBestFragment(Analyzer analyzer, String fieldName, String text) throws IOException, InvalidTokenOffsetsException
getBestFragment(TokenStream, String)
analyzer
- the analyzer that will be used to split text
into chunkstext
- text to highlight terms infieldName
- Name of field used to influence analyzer's tokenization policyInvalidTokenOffsetsException
- thrown if any token's endOffset exceeds the provided text's lengthIOException
public final String getBestFragment(TokenStream tokenStream, String text) throws IOException, InvalidTokenOffsetsException
tokenStream
- a stream of tokens identified in the text parameter, including offset information.
This is typically produced by an analyzer re-parsing a document's
text. Some work may be done on retrieving TokenStreams more efficiently
by adding support for storing original text position data in the Lucene
index but this support is not currently available (as of Lucene 1.4 rc2).text
- text to highlight terms inInvalidTokenOffsetsException
- thrown if any token's endOffset exceeds the provided text's lengthIOException
public final String[] getBestFragments(Analyzer analyzer, String fieldName, String text, int maxNumFragments) throws IOException, InvalidTokenOffsetsException
getBestFragments(TokenStream, String, int)
analyzer
- the analyzer that will be used to split text
into chunksfieldName
- the name of the field being highlighted (used by analyzer)text
- text to highlight terms inmaxNumFragments
- the maximum number of fragments.InvalidTokenOffsetsException
- thrown if any token's endOffset exceeds the provided text's lengthIOException
public final String[] getBestFragments(TokenStream tokenStream, String text, int maxNumFragments) throws IOException, InvalidTokenOffsetsException
text
- text to highlight terms inmaxNumFragments
- the maximum number of fragments.InvalidTokenOffsetsException
- thrown if any token's endOffset exceeds the provided text's lengthIOException
public final TextFragment[] getBestTextFragments(TokenStream tokenStream, String text, boolean mergeContiguousFragments, int maxNumFragments) throws IOException, InvalidTokenOffsetsException
IOException
- If there is a low-level I/O errorInvalidTokenOffsetsException
- thrown if any token's endOffset exceeds the provided text's lengthpublic final String getBestFragments(TokenStream tokenStream, String text, int maxNumFragments, String separator) throws IOException, InvalidTokenOffsetsException
text
- text to highlight terms inmaxNumFragments
- the maximum number of fragments.separator
- the separator used to intersperse the document fragments (typically "...")InvalidTokenOffsetsException
- thrown if any token's endOffset exceeds the provided text's lengthIOException
public int getMaxDocCharsToAnalyze()
public void setMaxDocCharsToAnalyze(int maxDocCharsToAnalyze)
public Fragmenter getTextFragmenter()
public void setTextFragmenter(Fragmenter fragmenter)
public Scorer getFragmentScorer()
public void setFragmentScorer(Scorer scorer)
public Encoder getEncoder()
public void setEncoder(Encoder encoder)
Copyright © 2000-2019 Apache Software Foundation. All Rights Reserved.