public class Highlighter
extends java.lang.Object
Fragmenter
, Scorer
, Formatter
,
Encoder
and tokenizers.Modifier and Type | Field and Description |
---|---|
static int |
DEFAULT_MAX_CHARS_TO_ANALYZE |
static int |
DEFAULT_MAX_DOC_BYTES_TO_ANALYZE
Deprecated.
|
Constructor and Description |
---|
Highlighter(Formatter formatter,
Encoder encoder,
Scorer fragmentScorer) |
Highlighter(Formatter formatter,
Scorer fragmentScorer) |
Highlighter(Scorer fragmentScorer) |
Modifier and Type | Method and Description |
---|---|
java.lang.String |
getBestFragment(org.apache.lucene.analysis.Analyzer analyzer,
java.lang.String fieldName,
java.lang.String text)
Highlights chosen terms in a text, extracting the most relevant section.
|
java.lang.String |
getBestFragment(org.apache.lucene.analysis.TokenStream tokenStream,
java.lang.String text)
Highlights chosen terms in a text, extracting the most relevant section.
|
java.lang.String[] |
getBestFragments(org.apache.lucene.analysis.Analyzer analyzer,
java.lang.String text,
int maxNumFragments)
Deprecated.
This method incorrectly hardcodes the choice of fieldname. Use the
method of the same name that takes a fieldname.
|
java.lang.String[] |
getBestFragments(org.apache.lucene.analysis.Analyzer analyzer,
java.lang.String fieldName,
java.lang.String text,
int maxNumFragments)
Highlights chosen terms in a text, extracting the most relevant sections.
|
java.lang.String[] |
getBestFragments(org.apache.lucene.analysis.TokenStream tokenStream,
java.lang.String text,
int maxNumFragments)
Highlights chosen terms in a text, extracting the most relevant sections.
|
java.lang.String |
getBestFragments(org.apache.lucene.analysis.TokenStream tokenStream,
java.lang.String text,
int maxNumFragments,
java.lang.String separator)
Highlights terms in the text , extracting the most relevant sections
and concatenating the chosen fragments with a separator (typically "...").
|
TextFragment[] |
getBestTextFragments(org.apache.lucene.analysis.TokenStream tokenStream,
java.lang.String text,
boolean mergeContiguousFragments,
int maxNumFragments)
Low level api to get the most relevant (formatted) sections of the document.
|
Encoder |
getEncoder() |
Scorer |
getFragmentScorer() |
int |
getMaxDocBytesToAnalyze()
Deprecated.
See
getMaxDocCharsToAnalyze() , since this value has always counted on chars. They both set the same internal value, however |
int |
getMaxDocCharsToAnalyze() |
Fragmenter |
getTextFragmenter() |
void |
setEncoder(Encoder encoder) |
void |
setFragmentScorer(Scorer scorer) |
void |
setMaxDocBytesToAnalyze(int byteCount)
Deprecated.
See
setMaxDocCharsToAnalyze(int) , since this value has always counted chars |
void |
setMaxDocCharsToAnalyze(int maxDocCharsToAnalyze) |
void |
setTextFragmenter(Fragmenter fragmenter) |
public static final int DEFAULT_MAX_CHARS_TO_ANALYZE
public static final int DEFAULT_MAX_DOC_BYTES_TO_ANALYZE
DEFAULT_MAX_CHARS_TO_ANALYZE
public Highlighter(Scorer fragmentScorer)
public final java.lang.String getBestFragment(org.apache.lucene.analysis.Analyzer analyzer, java.lang.String fieldName, java.lang.String text) throws java.io.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 lengthjava.io.IOException
public final java.lang.String getBestFragment(org.apache.lucene.analysis.TokenStream tokenStream, java.lang.String text) throws java.io.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 lengthjava.io.IOException
public final java.lang.String[] getBestFragments(org.apache.lucene.analysis.Analyzer analyzer, java.lang.String text, int maxNumFragments) throws java.io.IOException, InvalidTokenOffsetsException
getBestFragments(TokenStream, String, int)
analyzer
- the analyzer that will be used to split text
into chunkstext
- text to highlight terms inmaxNumFragments
- the maximum number of fragments.InvalidTokenOffsetsException
- thrown if any token's endOffset exceeds the provided text's lengthjava.io.IOException
public final java.lang.String[] getBestFragments(org.apache.lucene.analysis.Analyzer analyzer, java.lang.String fieldName, java.lang.String text, int maxNumFragments) throws java.io.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 lengthjava.io.IOException
public final java.lang.String[] getBestFragments(org.apache.lucene.analysis.TokenStream tokenStream, java.lang.String text, int maxNumFragments) throws java.io.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 lengthjava.io.IOException
public final TextFragment[] getBestTextFragments(org.apache.lucene.analysis.TokenStream tokenStream, java.lang.String text, boolean mergeContiguousFragments, int maxNumFragments) throws java.io.IOException, InvalidTokenOffsetsException
tokenStream
- text
- maxNumFragments
- mergeContiguousFragments
- java.io.IOException
InvalidTokenOffsetsException
- thrown if any token's endOffset exceeds the provided text's lengthpublic final java.lang.String getBestFragments(org.apache.lucene.analysis.TokenStream tokenStream, java.lang.String text, int maxNumFragments, java.lang.String separator) throws java.io.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 lengthjava.io.IOException
public int getMaxDocBytesToAnalyze()
getMaxDocCharsToAnalyze()
, since this value has always counted on chars. They both set the same internal value, howeverpublic void setMaxDocBytesToAnalyze(int byteCount)
setMaxDocCharsToAnalyze(int)
, since this value has always counted charsbyteCount
- the maximum number of bytes to be tokenized per doc
(This can improve performance with large documents)public int getMaxDocCharsToAnalyze()
public void setMaxDocCharsToAnalyze(int maxDocCharsToAnalyze)
public Fragmenter getTextFragmenter()
public void setTextFragmenter(Fragmenter fragmenter)
fragmenter
- public Scorer getFragmentScorer()
public void setFragmentScorer(Scorer scorer)
scorer
- public Encoder getEncoder()
public void setEncoder(Encoder encoder)
Copyright © 2000-2019 Apache Software Foundation. All Rights Reserved.