Package org.apache.lucene.search.vectorhighlight

# Interface FragmentsBuilder

All Known Implementing Classes:
  `BaseFragmentsBuilder`, `ScoreOrderFragmentsBuilder`, `SimpleFragmentsBuilder`

public interface FragmentsBuilder
`FragmentsBuilder` is an interface for fragments (snippets) builder classes. A `FragmentsBuilder` class can be plugged in to `FastVectorHighlighter`.

## Method Summary

Modifier and Type
Method
Description
`String`
`createFragment(IndexReader reader, int docId, String fieldName, FieldFragList fieldFragList)`
create a fragment.
`String`
`createFragment(IndexReader reader, int docId, String fieldName, FieldFragList fieldFragList, String[] preTags, String[] postTags, Encoder encoder)`
create a fragment.
`String[]`
`createFragments(IndexReader reader, int docId, String fieldName, FieldFragList fieldFragList, int maxNumFragments)`
create multiple fragments.
`String[]`
`createFragments(IndexReader reader, int docId, String fieldName, FieldFragList fieldFragList, int maxNumFragments, String[] preTags, String[] postTags, Encoder encoder)`
create multiple fragments.

## Method Details

### createFragment

String createFragment(IndexReader reader, int docId, String fieldName, FieldFragList fieldFragList) throws IOException
create a fragment.

Parameters:
  `reader` - IndexReader of the index
  `docId` - document id to be highlighted
  `fieldName` - field of the document to be highlighted
  `fieldFragList` - FieldFragList object
Returns:
  a created fragment or null when no fragment created
Throws:
  `IOException` - If there is a low-level I/O error

### createFragments

String[] createFragments(IndexReader reader, int docId, String fieldName, FieldFragList fieldFragList, int maxNumFragments) throws IOException
create multiple fragments.

Parameters:
  `reader` - IndexReader of the index
  `docId` - document id to be highlighter
  `fieldName` - field of the document to be highlighted
  `fieldFragList` - FieldFragList object
  `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

### createFragment

String createFragment(IndexReader reader, int docId, String fieldName, FieldFragList fieldFragList, String[] preTags, String[] postTags, Encoder encoder) throws IOException
create a fragment.

Parameters:
  `reader` - IndexReader of the index
  `docId` - document id to be highlighted
  `fieldName` - field of the document to be highlighted
  `fieldFragList` - FieldFragList 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:
  a created fragment or null when no fragment created
Throws:
  `IOException` - If there is a low-level I/O error

### createFragments

String[] createFragments(IndexReader reader, int docId, String fieldName, FieldFragList fieldFragList, int maxNumFragments, String[] preTags, String[] postTags, Encoder encoder) throws IOException
create multiple fragments.

Parameters:
  `reader` - IndexReader of the index
  `docId` - document id to be highlighter
  `fieldName` - field of the document to be highlighted
  `fieldFragList` - FieldFragList object
  `maxNumFragments` - maximum number of fragments
  `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