org.apache.solr.search

## Class Filter

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

- Direct Known Subclasses:
    QueryWrapperFilter, SolrFilter

      public abstract class Filter
      extends Query

  Convenient base class for building queries that only perform matching, but no scoring. The scorer produced by such queries always returns 0 as score.

- - ### Constructor Summary

    Constructors
    Modifier | Constructor and Description
    --- | ---
    `protected` | `Filter()` Default Filter constructor that will use the `doc id set iterator` when consumed through the `Query` API.
    `protected` | `Filter(boolean applyLazily)` Filter constructor.

  - ### Method Summary

    All Methods Instance Methods Abstract Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `Weight` | `createWeight(IndexSearcher searcher, boolean needsScores)`
    `abstract DocIdSet` | `getDocIdSet(LeafReaderContext context, Bits acceptDocs)` Creates a `DocIdSet` enumerating the documents that should be permitted in search results.

    - ### 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

    - #### Filter

          protected Filter(boolean applyLazily)

      Filter constructor. When `applyLazily` is true and the produced `DocIdSet`s support `random-access`, Lucene will only apply this filter after other clauses.

    - #### Filter

          protected Filter()

      Default Filter constructor that will use the `doc id set iterator` when consumed through the `Query` API.

  - ### Method Detail

    - #### getDocIdSet

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

      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.

      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`

    - #### createWeight

          public Weight createWeight(IndexSearcher searcher,
                                     boolean needsScores)
                              throws IOException

      Overrides:
        `createWeight` in class `Query`
      Throws:
        `IOException`

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