org.apache.solr.search

## Class SolrFilter

- java.lang.Object
- - org.apache.lucene.search.Query
  - - org.apache.solr.search.Filter
    - - org.apache.solr.search.SolrFilter

- Direct Known Subclasses:
    ValueSourceRangeFilter

      public abstract class SolrFilter
      extends Filter

  A SolrFilter extends the Lucene Filter and adds extra semantics such as passing on weight context info for function queries. Experimental and subject to change.

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `SolrFilter()`

  - ### Method Summary

    All Methods Instance Methods Abstract Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `abstract void` | `createWeight(Map context, IndexSearcher searcher)` Implementations should propagate createWeight to sub-ValueSources which can store weight info in the context.
    `DocIdSet` | `getDocIdSet(LeafReaderContext context, Bits acceptDocs)` Creates a `DocIdSet` enumerating the documents that should be permitted in search results.
    `abstract DocIdSet` | `getDocIdSet(Map context, LeafReaderContext readerContext, Bits acceptDocs)`

    - ### Methods inherited from class org.apache.solr.search.Filter

      `createWeight`

    - ### Methods inherited from class org.apache.lucene.search.Query

      `classHash, equals, hashCode, rewrite, sameClassAs, toString, toString`

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

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

- - ### Constructor Detail

    - #### SolrFilter

          public SolrFilter()

  - ### Method Detail

    - #### createWeight

          public abstract void createWeight(Map context,
                                            IndexSearcher searcher)
                                     throws IOException

      Implementations should propagate createWeight to sub-ValueSources which can store weight info in the context. The context object will be passed to getDocIdSet() where this info can be retrieved.
      Throws:
        `IOException`

    - #### getDocIdSet

          public abstract DocIdSet getDocIdSet(Map context,
                                               LeafReaderContext readerContext,
                                               Bits acceptDocs)
                                        throws IOException

      Throws:
        `IOException`

    - #### getDocIdSet

          public DocIdSet getDocIdSet(LeafReaderContext context,
                                      Bits acceptDocs)
                               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:
        `context` - a `LeafReaderContext` instance opened on the index currently searched on. Note, it is likely that the provided reader info 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. The provided context is always an atomic context, so you can call `LeafReader.fields()` on the context's reader, for example.
        `acceptDocs` - Bits that represent the allowable docs to match (typically deleted docs but possibly filtering other documents)
      Returns:
        a DocIdSet that provides the documents which should be permitted or prohibited in search results. NOTE: `null` should be returned if the filter doesn't accept any documents otherwise internal optimization might not apply in the case an empty `DocIdSet` is returned.
      Throws:
        `IOException`

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