Class CachingSpanFilter

  • All Implemented Interfaces:
    Serializable

    public class CachingSpanFilter
    extends SpanFilter
    Wraps another SpanFilter's result and caches it. The purpose is to allow filters to simply filter, and then wrap with this class to add caching.
    See Also:
    Serialized Form
    • Method Detail

      • getDocIdSet

        public DocIdSet getDocIdSet​(IndexReader reader)
                             throws IOException
        Description copied from class: Filter
        Creates a DocIdSet enumerating the documents that should be permitted in search results. NOTE: null can be returned if no documents are accepted by this Filter.

        Note: This method will be called once per segment in the index during searching. The returned DocIdSet must refer to document IDs for that segment, not for the top-level reader.

        Specified by:
        getDocIdSet in class Filter
        Parameters:
        reader - a IndexReader instance opened on the index currently searched on. Note, it is likely that the provided reader does not represent the whole underlying index i.e. if the index has more than one segment the given reader only represents a single segment.
        Returns:
        a DocIdSet that provides the documents which should be permitted or prohibited in search results. NOTE: null can be returned if no documents will be accepted by this Filter.
        Throws:
        IOException
        See Also:
        DocIdBitSet
      • bitSpans

        public SpanFilterResult bitSpans​(IndexReader reader)
                                  throws IOException
        Description copied from class: SpanFilter
        Returns a SpanFilterResult with true for documents which should be permitted in search results, and false for those that should not and Spans for where the true docs match.
        Specified by:
        bitSpans in class SpanFilter
        Parameters:
        reader - The IndexReader to load position and DocIdSet information from
        Returns:
        A SpanFilterResult
        Throws:
        IOException - if there was an issue accessing the necessary information
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class Object