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