Class BaseFragmentsBuilder

    • Field Detail

      • preTags

        protected java.lang.String[] preTags
      • postTags

        protected java.lang.String[] postTags
      • COLORED_PRE_TAGS

        public static final java.lang.String[] COLORED_PRE_TAGS
      • COLORED_POST_TAGS

        public static final java.lang.String[] COLORED_POST_TAGS
      • multiValuedSeparator

        private char multiValuedSeparator
      • discreteMultiValueHighlighting

        private boolean discreteMultiValueHighlighting
      • NULL_ENCODER

        private static final Encoder NULL_ENCODER
    • Constructor Detail

      • BaseFragmentsBuilder

        protected BaseFragmentsBuilder()
      • BaseFragmentsBuilder

        protected BaseFragmentsBuilder​(java.lang.String[] preTags,
                                       java.lang.String[] postTags)
      • BaseFragmentsBuilder

        protected BaseFragmentsBuilder​(BoundaryScanner boundaryScanner)
      • BaseFragmentsBuilder

        protected BaseFragmentsBuilder​(java.lang.String[] preTags,
                                       java.lang.String[] postTags,
                                       BoundaryScanner boundaryScanner)
    • Method Detail

      • checkTagsArgument

        static java.lang.Object checkTagsArgument​(java.lang.Object tags)
      • createFragment

        public java.lang.String createFragment​(IndexReader reader,
                                               int docId,
                                               java.lang.String fieldName,
                                               FieldFragList fieldFragList)
                                        throws java.io.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:
        java.io.IOException - If there is a low-level I/O error
      • createFragments

        public java.lang.String[] createFragments​(IndexReader reader,
                                                  int docId,
                                                  java.lang.String fieldName,
                                                  FieldFragList fieldFragList,
                                                  int maxNumFragments)
                                           throws java.io.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:
        java.io.IOException - If there is a low-level I/O error
      • createFragment

        public java.lang.String createFragment​(IndexReader reader,
                                               int docId,
                                               java.lang.String fieldName,
                                               FieldFragList fieldFragList,
                                               java.lang.String[] preTags,
                                               java.lang.String[] postTags,
                                               Encoder encoder)
                                        throws java.io.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:
        java.io.IOException - If there is a low-level I/O error
      • createFragments

        public java.lang.String[] createFragments​(IndexReader reader,
                                                  int docId,
                                                  java.lang.String fieldName,
                                                  FieldFragList fieldFragList,
                                                  int maxNumFragments,
                                                  java.lang.String[] preTags,
                                                  java.lang.String[] postTags,
                                                  Encoder encoder)
                                           throws java.io.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:
        java.io.IOException - If there is a low-level I/O error
      • getFields

        protected Field[] getFields​(IndexReader reader,
                                    int docId,
                                    java.lang.String fieldName)
                             throws java.io.IOException
        Throws:
        java.io.IOException
      • makeFragment

        protected java.lang.String makeFragment​(java.lang.StringBuilder buffer,
                                                int[] index,
                                                Field[] values,
                                                FieldFragList.WeightedFragInfo fragInfo,
                                                java.lang.String[] preTags,
                                                java.lang.String[] postTags,
                                                Encoder encoder)
      • getFragmentSourceMSO

        protected java.lang.String getFragmentSourceMSO​(java.lang.StringBuilder buffer,
                                                        int[] index,
                                                        Field[] values,
                                                        int startOffset,
                                                        int endOffset,
                                                        int[] modifiedStartOffset)
      • getFragmentSource

        protected java.lang.String getFragmentSource​(java.lang.StringBuilder buffer,
                                                     int[] index,
                                                     Field[] values,
                                                     int startOffset,
                                                     int endOffset)
      • setMultiValuedSeparator

        public void setMultiValuedSeparator​(char separator)
      • getMultiValuedSeparator

        public char getMultiValuedSeparator()
      • isDiscreteMultiValueHighlighting

        public boolean isDiscreteMultiValueHighlighting()
      • setDiscreteMultiValueHighlighting

        public void setDiscreteMultiValueHighlighting​(boolean discreteMultiValueHighlighting)
      • getPreTag

        protected java.lang.String getPreTag​(int num)
      • getPostTag

        protected java.lang.String getPostTag​(int num)
      • getPreTag

        protected java.lang.String getPreTag​(java.lang.String[] preTags,
                                             int num)
      • getPostTag

        protected java.lang.String getPostTag​(java.lang.String[] postTags,
                                              int num)