Class GradientFormatter
java.lang.Object
org.apache.lucene.search.highlight.GradientFormatter
- All Implemented Interfaces:
Formatter
- Direct Known Subclasses:
SpanGradientFormatter
Formats text with different color intensity depending on the score of the term.
-
Field Summary
FieldsModifier and TypeFieldDescription(package private) int
(package private) int
(package private) int
(package private) int
(package private) int
(package private) int
(package private) int
(package private) int
(package private) int
(package private) int
(package private) int
(package private) int
private static char[]
protected boolean
protected boolean
private float
-
Constructor Summary
ConstructorsConstructorDescriptionGradientFormatter
(float maxScore, String minForegroundColor, String maxForegroundColor, String minBackgroundColor, String maxBackgroundColor) Sets the color range for the IDF scores -
Method Summary
Modifier and TypeMethodDescriptionprotected String
getBackgroundColorString
(float score) private int
getColorVal
(int colorMin, int colorMax, float score) protected String
getForegroundColorString
(float score) static final int
Converts a hex string into an int.highlightTerm
(String originalText, TokenGroup tokenGroup) private static String
intToHex
(int i)
-
Field Details
-
maxScore
private float maxScore -
fgRMin
int fgRMin -
fgGMin
int fgGMin -
fgBMin
int fgBMin -
fgRMax
int fgRMax -
fgGMax
int fgGMax -
fgBMax
int fgBMax -
highlightForeground
protected boolean highlightForeground -
bgRMin
int bgRMin -
bgGMin
int bgGMin -
bgBMin
int bgBMin -
bgRMax
int bgRMax -
bgGMax
int bgGMax -
bgBMax
int bgBMax -
highlightBackground
protected boolean highlightBackground -
hexDigits
private static char[] hexDigits
-
-
Constructor Details
-
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 (SeeQueryScorer.getMaxTermWeight()
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
-
-
Method Details
-
highlightTerm
- Specified by:
highlightTerm
in interfaceFormatter
- Parameters:
originalText
- The section of text being considered for markuptokenGroup
- contains one or several overlapping Tokens along with their scores and positions.
-
getForegroundColorString
-
getBackgroundColorString
-
getColorVal
private int getColorVal(int colorMin, int colorMax, float score) -
intToHex
-
hexToInt
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]
-