Class SearchTravRetHighlightTask

  • All Implemented Interfaces:
    Cloneable

    public class SearchTravRetHighlightTask
    extends SearchTravTask
    Search and Traverse and Retrieve docs task. Highlight the fields in the retrieved documents. Uses the SimpleHTMLFormatter for formatting.

    Note: This task reuses the reader if it is already open. Otherwise a reader is opened at start and closed at the end.

    Takes optional multivalued, comma separated param string as: size[<traversal size>],highlight[<int>],maxFrags[<int>],mergeContiguous[<boolean>],fields[name1;name2;...]

    • traversal size - The number of hits to traverse, otherwise all will be traversed
    • highlight - The number of the hits to highlight. Will always be less than or equal to traversal size. Default is Integer.MAX_VALUE (i.e. hits.length())
    • maxFrags - The maximum number of fragments to score by the highlighter
    • mergeContiguous - true if contiguous fragments should be merged.
    • fields - The fields to highlight. If not specified all fields will be highlighted (or at least attempted)
    Example:
    "SearchHlgtSameRdr" SearchTravRetHighlight(size[10],highlight[10],mergeContiguous[true],maxFrags[3],fields[body]) > : 1000
     
    Documents must be stored in order for this task to work. Additionally, term vector positions can be used as well.

    Other side effects: counts additional 1 (record) for each traversed hit, and 1 more for each retrieved (non null) document and 1 for each fragment returned.

    • Field Detail

      • numToHighlight

        protected int numToHighlight
      • mergeContiguous

        protected boolean mergeContiguous
      • maxFrags

        protected int maxFrags
      • paramFields

        protected Set<String> paramFields
      • highlighter

        protected org.apache.lucene.search.highlight.Highlighter highlighter
      • maxDocCharsToAnalyze

        protected int maxDocCharsToAnalyze
    • Constructor Detail

      • SearchTravRetHighlightTask

        public SearchTravRetHighlightTask​(PerfRunData runData)
    • Method Detail

      • setup

        public void setup()
                   throws Exception
        Description copied from class: PerfTask
        Task setup work that should not be measured for that specific task. By default it does nothing, but tasks can implement this, moving work from PerfTask.doLogic() to this method. Only the work done in PerfTask.doLogic() is measured for this task. Notice that higher level (sequence) tasks containing this task would then measure larger time than the sum of their contained tasks.
        Overrides:
        setup in class ReadTask
        Throws:
        Exception
      • withRetrieve

        public boolean withRetrieve()
        Description copied from class: ReadTask
        Return true if, with search & results traversing, docs should be retrieved.
        Overrides:
        withRetrieve in class SearchTravTask
      • numToHighlight

        public int numToHighlight()
        Description copied from class: ReadTask
        Set to the number of documents to highlight.
        Overrides:
        numToHighlight in class ReadTask
        Returns:
        The number of the results to highlight. O means no docs will be highlighted.
      • getFieldsToHighlight

        protected Collection<String> getFieldsToHighlight​(org.apache.lucene.document.Document document)
        Description copied from class: ReadTask
        Define the fields to highlight. Base implementation returns all fields
        Overrides:
        getFieldsToHighlight in class ReadTask
        Parameters:
        document - The Document
        Returns:
        A Collection of Field names (Strings)