org.apache.lucene.search.highlight
Class GradientFormatter
java.lang.Object
org.apache.lucene.search.highlight.GradientFormatter
- All Implemented Interfaces:
- Formatter
- Direct Known Subclasses:
- SpanGradientFormatter
public class GradientFormatter
- extends Object
- implements Formatter
Formats text with different color intensity depending on the score of the
term.
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
highlightForeground
protected boolean highlightForeground
highlightBackground
protected boolean highlightBackground
GradientFormatter
public GradientFormatter(float maxScore,
String minForegroundColor,
String maxForegroundColor,
String minBackgroundColor,
String maxBackgroundColor)
- Sets the color range for the IDF scores
- Parameters:
maxScore
- The score (and above) displayed as maxColor (See QueryScorer.getMaxWeight
which can be used to calibrate scoring scale)minForegroundColor
- The hex color used for representing IDF scores of zero eg
#FFFFFF (white) or null if no foreground color requiredmaxForegroundColor
- The largest hex color used for representing IDF scores eg
#000000 (black) or null if no foreground color requiredminBackgroundColor
- The hex color used for representing IDF scores of zero eg
#FFFFFF (white) or null if no background color requiredmaxBackgroundColor
- The largest hex color used for representing IDF scores eg
#000000 (black) or null if no background color required
highlightTerm
public String highlightTerm(String originalText,
TokenGroup tokenGroup)
- Specified by:
highlightTerm
in interface Formatter
- Parameters:
originalText
- The section of text being considered for markuptokenGroup
- contains one or several overlapping Tokens along with
their scores and positions.
getForegroundColorString
protected String getForegroundColorString(float score)
getBackgroundColorString
protected String getBackgroundColorString(float score)
hexToInt
public static final int hexToInt(String hex)
- Converts a hex string into an int. Integer.parseInt(hex, 16) assumes the
input is nonnegative unless there is a preceding minus sign. This method
reads the input as twos complement instead, so if the input is 8 bytes
long, it will correctly restore a negative int produced by
Integer.toHexString() but not necessarily one produced by
Integer.toString(x,16) since that method will produce a string like '-FF'
for negative integer values.
- Parameters:
hex
- A string in capital or lower case hex, of no more then 16
characters.
- Throws:
NumberFormatException
- if the string is more than 16 characters long, or if any
character is not in the set [0-9a-fA-f]