org.apache.jackrabbit.core.query.lucene
Class DefaultHighlighter
java.lang.Object
org.apache.jackrabbit.core.query.lucene.DefaultHighlighter
- Direct Known Subclasses:
- WeightedHighlighter
public class DefaultHighlighter
- extends Object
This is an adapted version of the FulltextHighlighter posted in
issue: LUCENE-644.
Important: for this highlighter to function properly, field must be stored
with token offsets.
Use Field constructor Field(String, String, Field.Store, Field.Index, Field.TermVector) where the
last argument is either Field.TermVector#WITH_POSITIONS_OFFSETS or
Field.TermVector.WITH_OFFSETS
- See Also:
TermPositionVector,
TermFreqVector
|
Method Summary |
protected String |
createDefaultExcerpt(String text,
String excerptStart,
String excerptEnd,
String fragmentStart,
String fragmentEnd,
int maxLength)
Creates a default excerpt with the given text. |
protected String |
doHighlight(org.apache.lucene.index.TermPositionVector tvec,
Set<org.apache.lucene.index.Term> queryTerms,
String text,
String excerptStart,
String excerptEnd,
String fragmentStart,
String fragmentEnd,
String hlStart,
String hlEnd,
int maxFragments,
int surround)
|
static String |
highlight(org.apache.lucene.index.TermPositionVector tvec,
Set<org.apache.lucene.index.Term> queryTerms,
String text,
int maxFragments,
int surround)
|
static String |
highlight(org.apache.lucene.index.TermPositionVector tvec,
Set<org.apache.lucene.index.Term> queryTerms,
String text,
String excerptStart,
String excerptEnd,
String fragmentStart,
String fragmentEnd,
String hlStart,
String hlEnd,
int maxFragments,
int surround)
|
protected String |
mergeFragments(org.apache.lucene.index.TermVectorOffsetInfo[] offsets,
String text,
String excerptStart,
String excerptEnd,
String fragmentStart,
String fragmentEnd,
String hlStart,
String hlEnd,
int maxFragments,
int surround)
|
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
DEFAULT_MAXFRAGMENTS
public static final int DEFAULT_MAXFRAGMENTS
- A default value of 3
- See Also:
- Constant Field Values
DEFAULT_SURROUND
public static final int DEFAULT_SURROUND
- A default value of 75
- See Also:
- Constant Field Values
START_EXCERPT
public static final String START_EXCERPT
- See Also:
- Constant Field Values
END_EXCERPT
public static final String END_EXCERPT
- See Also:
- Constant Field Values
START_FRAGMENT_SEPARATOR
public static final String START_FRAGMENT_SEPARATOR
- See Also:
- Constant Field Values
END_FRAGMENT_SEPARATOR
public static final String END_FRAGMENT_SEPARATOR
- See Also:
- Constant Field Values
START_HIGHLIGHT
public static final String START_HIGHLIGHT
- See Also:
- Constant Field Values
END_HIGHLIGHT
public static final String END_HIGHLIGHT
- See Also:
- Constant Field Values
DefaultHighlighter
protected DefaultHighlighter()
highlight
public static String highlight(org.apache.lucene.index.TermPositionVector tvec,
Set<org.apache.lucene.index.Term> queryTerms,
String text,
String excerptStart,
String excerptEnd,
String fragmentStart,
String fragmentEnd,
String hlStart,
String hlEnd,
int maxFragments,
int surround)
throws IOException
- Parameters:
tvec - the term position vector for this hitqueryTerms - the query terms.text - the original text that was used to create the
tokens.excerptStart - this string is prepended to the excerptexcerptEnd - this string is appended to the excerptfragmentStart - this string is prepended to every fragmentfragmentEnd - this string is appended to the end of every
fragement.hlStart - the string used to prepend a highlighted token, for
example "<b>"hlEnd - the string used to append a highlighted token, for
example "</b>"maxFragments - the maximum number of fragmentssurround - the maximum number of chars surrounding a
highlighted token
- Returns:
- a String with text fragments where tokens from the query are
highlighted
- Throws:
IOException
highlight
public static String highlight(org.apache.lucene.index.TermPositionVector tvec,
Set<org.apache.lucene.index.Term> queryTerms,
String text,
int maxFragments,
int surround)
throws IOException
- Parameters:
tvec - the term position vector for this hitqueryTerms - the query terms.text - the original text that was used to create the tokens.maxFragments - the maximum number of fragmentssurround - the maximum number of chars surrounding a highlighted
token
- Returns:
- a String with text fragments where tokens from the query are
highlighted
- Throws:
IOException
doHighlight
protected String doHighlight(org.apache.lucene.index.TermPositionVector tvec,
Set<org.apache.lucene.index.Term> queryTerms,
String text,
String excerptStart,
String excerptEnd,
String fragmentStart,
String fragmentEnd,
String hlStart,
String hlEnd,
int maxFragments,
int surround)
throws IOException
- Throws:
IOException- See Also:
highlight(TermPositionVector, Set, String, String, String, String, String, String, String, int, int)
mergeFragments
protected String mergeFragments(org.apache.lucene.index.TermVectorOffsetInfo[] offsets,
String text,
String excerptStart,
String excerptEnd,
String fragmentStart,
String fragmentEnd,
String hlStart,
String hlEnd,
int maxFragments,
int surround)
throws IOException
- Throws:
IOException
createDefaultExcerpt
protected String createDefaultExcerpt(String text,
String excerptStart,
String excerptEnd,
String fragmentStart,
String fragmentEnd,
int maxLength)
throws IOException
- Creates a default excerpt with the given text.
- Parameters:
text - the text.excerptStart - the excerpt start.excerptEnd - the excerpt end.fragmentStart - the fragement start.fragmentEnd - the fragment end.maxLength - the maximum length of the fragment.
- Returns:
- a default excerpt.
- Throws:
IOException - if an error occurs while reading from the text.
Copyright © 2004-2010 The Apache Software Foundation. All Rights Reserved.