Class WeightedXMLExcerpt

  • All Implemented Interfaces:
    ExcerptProvider, HighlightingExcerptProvider

    public class WeightedXMLExcerpt
    extends AbstractExcerpt
    WeightedXMLExcerpt creates an XML excerpt of a matching node. In contrast to DefaultXMLExcerpt this implementation weights fragments based on the proximity of highlighted terms. Highlighted terms that are adjacent have a higher weight. In addition, the more highlighted terms, the higher the weight.
    E.g. if you search for 'jackrabbit' and 'query' you may get the following result for a node:
     <excerpt>
         <fragment><highlight>Jackrabbit</highlight> implements both the mandatory XPath and optional SQL <highlight>query</highlight> syntax.</fragment>
         <fragment>Before parsing the XPath <highlight>query</highlight> in <highlight>Jackrabbit</highlight>, the statement is surrounded</fragment>
     </excerpt>
     
    See Also:
    WeightedHighlighter
    • Constructor Detail

      • WeightedXMLExcerpt

        public WeightedXMLExcerpt()
    • Method Detail

      • createExcerpt

        protected String createExcerpt​(org.apache.lucene.index.TermPositionVector tpv,
                                       String text,
                                       int maxFragments,
                                       int maxFragmentSize)
                                throws IOException
        Creates an excerpt for the given text using token offset information provided by tpv.
        Specified by:
        createExcerpt in class AbstractExcerpt
        Parameters:
        tpv - the term position vector for the fulltext field.
        text - the original text.
        maxFragments - the maximum number of fragments to create.
        maxFragmentSize - the maximum number of characters in a fragment.
        Returns:
        the xml excerpt.
        Throws:
        IOException - if an error occurs while creating the excerpt.