org.apache.solr.search

## Class QueryWrapperFilter

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

-     public class QueryWrapperFilter
      extends Filter

  Constrains search results to only match those which also match a provided query.

  This could be used, for example, with a `LegacyNumericRangeQuery` on a suitably formatted date field to implement date filtering. One could re-use a single CachingWrapperFilter(QueryWrapperFilter) that matches, e.g., only documents modified within the last week. This would only need to be reconstructed once per day.

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `QueryWrapperFilter(Query query)` Constructs a filter which only matches documents matching `query`.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `boolean` | `equals(Object o)`
    `DocIdSet` | `getDocIdSet(LeafReaderContext context, Bits acceptDocs)` Creates a `DocIdSet` enumerating the documents that should be permitted in search results.
    `Query` | `getQuery()` returns the inner Query
    `int` | `hashCode()`
    `Query` | `rewrite(IndexReader reader)`
    `String` | `toString(String field)`

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

      `createWeight`

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

      `classHash, sameClassAs, toString`

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

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

- - ### Constructor Detail

    - #### QueryWrapperFilter

          public QueryWrapperFilter(Query query)

      Constructs a filter which only matches documents matching `query`.

  - ### Method Detail

    - #### rewrite

          public Query rewrite(IndexReader reader)
                        throws IOException

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

    - #### getQuery

          public final Query getQuery()

      returns the inner Query

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

    - #### toString

          public String toString(String field)

      Specified by:
        `toString` in class `Query`

    - #### equals

          public boolean equals(Object o)

      Specified by:
        `equals` in class `Query`

    - #### hashCode

          public int hashCode()

      Specified by:
        `hashCode` in class `Query`

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