org.apache.lucene.search

## Class CachingSpanFilter

- java.lang.Object
- - org.apache.lucene.search.Filter
  - - org.apache.lucene.search.SpanFilter
    - - org.apache.lucene.search.CachingSpanFilter

- All Implemented Interfaces:
    java.io.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

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `protected SpanFilter` | `filter`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `CachingSpanFilter(SpanFilter filter)` New deletions always result in a cache miss, by default (`CachingWrapperFilter.DeletesMode.RECACHE`.
    `CachingSpanFilter(SpanFilter filter, CachingWrapperFilter.DeletesMode deletesMode)`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods Deprecated Methods
    Modifier and Type | Method and Description
    --- | ---
    `java.util.BitSet` | `bits(IndexReader reader)` Deprecated. Use `getDocIdSet(IndexReader)` instead.
    `SpanFilterResult` | `bitSpans(IndexReader reader)` 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.
    `boolean` | `equals(java.lang.Object o)`
    `DocIdSet` | `getDocIdSet(IndexReader reader)` Creates a `DocIdSet` enumerating the documents that should be permitted in search results.
    `int` | `hashCode()`
    `java.lang.String` | `toString()`

    - ### Methods inherited from class java.lang.Object

      `clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

- - ### Field Detail

    - #### filter

          protected SpanFilter filter

  - ### Constructor Detail

    - #### CachingSpanFilter

          public CachingSpanFilter(SpanFilter filter)

      New deletions always result in a cache miss, by default (`CachingWrapperFilter.DeletesMode.RECACHE`.
      Parameters:
        `filter` - Filter to cache results of

    - #### CachingSpanFilter

          public CachingSpanFilter(SpanFilter filter,
                                   CachingWrapperFilter.DeletesMode deletesMode)

      Parameters:
        `filter` - Filter to cache results of
        `deletesMode` - See `CachingWrapperFilter.DeletesMode`

  - ### Method Detail

    - #### bits

          public java.util.BitSet bits(IndexReader reader)
                                throws java.io.IOException

      Deprecated. Use `getDocIdSet(IndexReader)` instead.
      Overrides:
        `bits` in class `Filter`
      Returns:
        A BitSet with true for documents which should be permitted in search results, and false for those that should not.

        NOTE: See `Filter.getDocIdSet(IndexReader)` for handling of multi-segment indexes (which applies to this method as well).

      Throws:
        `java.io.IOException`

    - #### getDocIdSet

          public DocIdSet getDocIdSet(IndexReader reader)
                               throws java.io.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.

      Overrides:
        `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:
        `java.io.IOException`
      See Also:
        `DocIdBitSet`

    - #### bitSpans

          public SpanFilterResult bitSpans(IndexReader reader)
                                    throws java.io.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:
        `java.io.IOException` - if there was an issue accessing the necessary information

    - #### toString

          public java.lang.String toString()

      Overrides:
        `toString` in class `java.lang.Object`

    - #### equals

          public boolean equals(java.lang.Object o)

      Overrides:
        `equals` in class `java.lang.Object`

    - #### hashCode

          public int hashCode()

      Overrides:
        `hashCode` in class `java.lang.Object`

Copyright © 2000-2016 Apache Software Foundation. All Rights Reserved.