Package org.apache.lucene.search.vectorhighlight

# Class FastVectorHighlighter

java.lang.Object
org.apache.lucene.search.vectorhighlight.FastVectorHighlighter

public class FastVectorHighlighter extends Object
Another highlighter implementation.

## Field Summary

Fields
Modifier and Type
Field
Description
`static final boolean`
`DEFAULT_FIELD_MATCH`
`static final boolean`
`DEFAULT_PHRASE_HIGHLIGHT`
`protected final boolean`
`fieldMatch`
`protected final boolean`
`phraseHighlight`

## Constructor Summary

Constructors
Constructor
Description
`FastVectorHighlighter()`
the default constructor.
`FastVectorHighlighter(boolean phraseHighlight, boolean fieldMatch)`
a constructor.
`FastVectorHighlighter(boolean phraseHighlight, boolean fieldMatch, FragListBuilder fragListBuilder, FragmentsBuilder fragmentsBuilder)`
a constructor.

## Method Summary

Modifier and Type
Method
Description
`final String`
`getBestFragment(FieldQuery fieldQuery, IndexReader reader, int docId, String fieldName, int fragCharSize)`
return the best fragment.
`final String`
`getBestFragment(FieldQuery fieldQuery, IndexReader reader, int docId, String fieldName, int fragCharSize, FragListBuilder fragListBuilder, FragmentsBuilder fragmentsBuilder, String[] preTags, String[] postTags, Encoder encoder)`
return the best fragment.
`final String[]`
`getBestFragments(FieldQuery fieldQuery, IndexReader reader, int docId, String fieldName, int fragCharSize, int maxNumFragments)`
return the best fragments.
`final String[]`
`getBestFragments(FieldQuery fieldQuery, IndexReader reader, int docId, String fieldName, int fragCharSize, int maxNumFragments, FragListBuilder fragListBuilder, FragmentsBuilder fragmentsBuilder, String[] preTags, String[] postTags, Encoder encoder)`
return the best fragments.
`final String[]`
`getBestFragments(FieldQuery fieldQuery, IndexReader reader, int docId, String storedField, Set<String> matchedFields, int fragCharSize, int maxNumFragments, FragListBuilder fragListBuilder, FragmentsBuilder fragmentsBuilder, String[] preTags, String[] postTags, Encoder encoder)`
Return the best fragments.
`FieldQuery`
`getFieldQuery(Query query)`
create a `FieldQuery` object.
`FieldQuery`
`getFieldQuery(Query query, IndexReader reader)`
create a `FieldQuery` object.
`int`
`getPhraseLimit()`
`boolean`
`isFieldMatch()`
return whether fieldMatch or not.
`boolean`
`isPhraseHighlight()`
return whether phraseHighlight or not.
`void`
`setPhraseLimit(int phraseLimit)`
set the maximum number of phrases to analyze when searching for the highest-scoring phrase.

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

## Field Details

### DEFAULT_PHRASE_HIGHLIGHT

public static final boolean DEFAULT_PHRASE_HIGHLIGHT

See Also:
  - Constant Field Values

### DEFAULT_FIELD_MATCH

public static final boolean DEFAULT_FIELD_MATCH

See Also:
  - Constant Field Values

### phraseHighlight

protected final boolean phraseHighlight

### fieldMatch

protected final boolean fieldMatch

## Constructor Details

### FastVectorHighlighter

public FastVectorHighlighter()
the default constructor.

### FastVectorHighlighter

public FastVectorHighlighter(boolean phraseHighlight, boolean fieldMatch)
a constructor. Using `SimpleFragListBuilder` and `ScoreOrderFragmentsBuilder`.

Parameters:
  `phraseHighlight` - true or false for phrase highlighting
  `fieldMatch` - true of false for field matching

### FastVectorHighlighter

public FastVectorHighlighter(boolean phraseHighlight, boolean fieldMatch, FragListBuilder fragListBuilder, FragmentsBuilder fragmentsBuilder)
a constructor. A `FragListBuilder` and a `FragmentsBuilder` can be specified (plugins).

Parameters:
  `phraseHighlight` - true of false for phrase highlighting
  `fieldMatch` - true of false for field matching
  `fragListBuilder` - an instance of `FragListBuilder`
  `fragmentsBuilder` - an instance of `FragmentsBuilder`

## Method Details

### getFieldQuery

public FieldQuery getFieldQuery(Query query)
create a `FieldQuery` object.

Parameters:
  `query` - a query
Returns:
  the created `FieldQuery` object

### getFieldQuery

public FieldQuery getFieldQuery(Query query, IndexReader reader) throws IOException
create a `FieldQuery` object.

Parameters:
  `query` - a query
Returns:
  the created `FieldQuery` object
Throws:
  `IOException`

### getBestFragment

public final String getBestFragment(FieldQuery fieldQuery, IndexReader reader, int docId, String fieldName, int fragCharSize) throws IOException
return the best fragment.

Parameters:
  `fieldQuery` - `FieldQuery` object
  `reader` - `IndexReader` of the index
  `docId` - document id to be highlighted
  `fieldName` - field of the document to be highlighted
  `fragCharSize` - the length (number of chars) of a fragment
Returns:
  the best fragment (snippet) string
Throws:
  `IOException` - If there is a low-level I/O error

### getBestFragments

public final String[] getBestFragments(FieldQuery fieldQuery, IndexReader reader, int docId, String fieldName, int fragCharSize, int maxNumFragments) throws IOException
return the best fragments.

Parameters:
  `fieldQuery` - `FieldQuery` object
  `reader` - `IndexReader` of the index
  `docId` - document id to be highlighted
  `fieldName` - field of the document to be highlighted
  `fragCharSize` - the length (number of chars) of a fragment
  `maxNumFragments` - maximum number of fragments
Returns:
  created fragments or null when no fragments created. size of the array can be less than maxNumFragments
Throws:
  `IOException` - If there is a low-level I/O error

### getBestFragment

public final String getBestFragment(FieldQuery fieldQuery, IndexReader reader, int docId, String fieldName, int fragCharSize, FragListBuilder fragListBuilder, FragmentsBuilder fragmentsBuilder, String[] preTags, String[] postTags, Encoder encoder) throws IOException
return the best fragment.

Parameters:
  `fieldQuery` - `FieldQuery` object
  `reader` - `IndexReader` of the index
  `docId` - document id to be highlighted
  `fieldName` - field of the document to be highlighted
  `fragCharSize` - the length (number of chars) of a fragment
  `fragListBuilder` - `FragListBuilder` object
  `fragmentsBuilder` - `FragmentsBuilder` object
  `preTags` - pre-tags to be used to highlight terms
  `postTags` - post-tags to be used to highlight terms
  `encoder` - an encoder that generates encoded text
Returns:
  the best fragment (snippet) string
Throws:
  `IOException` - If there is a low-level I/O error

### getBestFragments

public final String[] getBestFragments(FieldQuery fieldQuery, IndexReader reader, int docId, String fieldName, int fragCharSize, int maxNumFragments, FragListBuilder fragListBuilder, FragmentsBuilder fragmentsBuilder, String[] preTags, String[] postTags, Encoder encoder) throws IOException
return the best fragments.

Parameters:
  `fieldQuery` - `FieldQuery` object
  `reader` - `IndexReader` of the index
  `docId` - document id to be highlighted
  `fieldName` - field of the document to be highlighted
  `fragCharSize` - the length (number of chars) of a fragment
  `maxNumFragments` - maximum number of fragments
  `fragListBuilder` - `FragListBuilder` object
  `fragmentsBuilder` - `FragmentsBuilder` object
  `preTags` - pre-tags to be used to highlight terms
  `postTags` - post-tags to be used to highlight terms
  `encoder` - an encoder that generates encoded text
Returns:
  created fragments or null when no fragments created. size of the array can be less than maxNumFragments
Throws:
  `IOException` - If there is a low-level I/O error

### getBestFragments

public final String[] getBestFragments(FieldQuery fieldQuery, IndexReader reader, int docId, String storedField, Set<String> matchedFields, int fragCharSize, int maxNumFragments, FragListBuilder fragListBuilder, FragmentsBuilder fragmentsBuilder, String[] preTags, String[] postTags, Encoder encoder) throws IOException
Return the best fragments. Matches are scanned from matchedFields and turned into fragments against storedField. The highlighting may not make sense if matchedFields has matches with offsets that don't correspond features in storedField. It will outright throw a `StringIndexOutOfBoundsException` if matchedFields produces offsets outside of storedField. As such it is advisable that all matchedFields share the same source as storedField or are at least a prefix of it.

Parameters:
  `fieldQuery` - `FieldQuery` object
  `reader` - `IndexReader` of the index
  `docId` - document id to be highlighted
  `storedField` - field of the document that stores the text
  `matchedFields` - fields of the document to scan for matches
  `fragCharSize` - the length (number of chars) of a fragment
  `maxNumFragments` - maximum number of fragments
  `fragListBuilder` - `FragListBuilder` object
  `fragmentsBuilder` - `FragmentsBuilder` object
  `preTags` - pre-tags to be used to highlight terms
  `postTags` - post-tags to be used to highlight terms
  `encoder` - an encoder that generates encoded text
Returns:
  created fragments or null when no fragments created. size of the array can be less than maxNumFragments
Throws:
  `IOException` - If there is a low-level I/O error

### isPhraseHighlight

public boolean isPhraseHighlight()
return whether phraseHighlight or not.

Returns:
  whether phraseHighlight or not

### isFieldMatch

public boolean isFieldMatch()
return whether fieldMatch or not.

Returns:
  whether fieldMatch or not

### getPhraseLimit

public int getPhraseLimit()

Returns:
  the maximum number of phrases to analyze when searching for the highest-scoring phrase.

### setPhraseLimit

public void setPhraseLimit(int phraseLimit)
set the maximum number of phrases to analyze when searching for the highest-scoring phrase. The default is unlimited (Integer.MAX_VALUE).