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
`static boolean` `DEFAULT_FIELD_MATCH`
`static boolean` `DEFAULT_PHRASE_HIGHLIGHT`

### Constructor Summary

Constructors
Constructor and 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

Methods
`String` `getBestFragment(FieldQuery fieldQuery, IndexReader reader, int docId, String fieldName, int fragCharSize)` return the best fragment.
`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.
`String[]` `getBestFragments(FieldQuery fieldQuery, IndexReader reader, int docId, String fieldName, int fragCharSize, int maxNumFragments)` return the best fragments.
`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.
`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 Detail

#### 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

### Constructor Detail

#### 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 Detail

#### 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

#### 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).