Class BaseFragmentsBuilder

java.lang.Object
org.apache.lucene.search.vectorhighlight.BaseFragmentsBuilder
All Implemented Interfaces:
FragmentsBuilder
Direct Known Subclasses:
ScoreOrderFragmentsBuilder, SimpleFragmentsBuilder

public abstract class BaseFragmentsBuilder extends Object implements FragmentsBuilder
Base FragmentsBuilder implementation that supports colored pre/post tags and multivalued fields.

Uses BoundaryScanner to determine fragments.

  • Field Details

    • COLORED_PRE_TAGS

      public static final String[] COLORED_PRE_TAGS
    • COLORED_POST_TAGS

      public static final String[] COLORED_POST_TAGS
  • Method Details

    • getWeightedFragInfoList

      public abstract List<FieldFragList.WeightedFragInfo> getWeightedFragInfoList(List<FieldFragList.WeightedFragInfo> src)
    • createFragment

      public String createFragment(IndexReader reader, int docId, String fieldName, FieldFragList fieldFragList) throws IOException
      Description copied from interface: FragmentsBuilder
      create a fragment.
      Specified by:
      createFragment in interface FragmentsBuilder
      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

      public String[] createFragments(IndexReader reader, int docId, String fieldName, FieldFragList fieldFragList, int maxNumFragments) throws IOException
      Description copied from interface: FragmentsBuilder
      create multiple fragments.
      Specified by:
      createFragments in interface FragmentsBuilder
      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

      public String createFragment(IndexReader reader, int docId, String fieldName, FieldFragList fieldFragList, String[] preTags, String[] postTags, Encoder encoder) throws IOException
      Description copied from interface: FragmentsBuilder
      create a fragment.
      Specified by:
      createFragment in interface FragmentsBuilder
      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

      public String[] createFragments(IndexReader reader, int docId, String fieldName, FieldFragList fieldFragList, int maxNumFragments, String[] preTags, String[] postTags, Encoder encoder) throws IOException
      Description copied from interface: FragmentsBuilder
      create multiple fragments.
      Specified by:
      createFragments in interface FragmentsBuilder
      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
    • setMultiValuedSeparator

      public void setMultiValuedSeparator(char separator)
    • getMultiValuedSeparator

      public char getMultiValuedSeparator()
    • isDiscreteMultiValueHighlighting

      public boolean isDiscreteMultiValueHighlighting()
    • setDiscreteMultiValueHighlighting

      public void setDiscreteMultiValueHighlighting(boolean discreteMultiValueHighlighting)