## org.apache.lucene.search
Class SpanQueryFilter

    java.lang.Object
      org.apache.lucene.search.Filter
          org.apache.lucene.search.SpanFilter
              org.apache.lucene.search.SpanQueryFilter

All Implemented Interfaces:
  Serializable

    public class SpanQueryFilter

extends SpanFilter

Constrains search results to only match those which also match a provided query. Also provides position information about where each document matches at the cost of extra space compared with the QueryWrapperFilter. There is an added cost to this above what is stored in a `QueryWrapperFilter`. Namely, the position information for each matching document is stored.

This filter does not cache. See the `CachingSpanFilter` for a wrapper that caches.

See Also:
  Serialized Form

Field Summary
`protected SpanQuery` `query`

Constructor Summary
`protected` `SpanQueryFilter()`
`` `SpanQueryFilter(SpanQuery query)` Constructs a filter which only matches documents matching `query`.

Method Summary
`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(Object o)`
`DocIdSet` `getDocIdSet(IndexReader reader)` Creates a `DocIdSet` enumerating the documents that should be permitted in search results.
`SpanQuery` `getQuery()`
`int` `hashCode()`
`String` `toString()`

Methods inherited from class java.lang.Object
`clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

Field Detail

### query

    protected SpanQuery query

Constructor Detail

### SpanQueryFilter

    protected SpanQueryFilter()

### SpanQueryFilter

    public SpanQueryFilter(SpanQuery query)

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

  Parameters:
    `query` - The `SpanQuery` to use as the basis for the Filter.

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

### getQuery

    public SpanQuery getQuery()

### toString

    public String toString()

  Overrides:
    `toString` in class `Object`

### equals

    public boolean equals(Object o)

  Overrides:
    `equals` in class `Object`

### hashCode

    public int hashCode()

  Overrides:
    `hashCode` in class `Object`