org.apache.lucene.search.spans

## Class SpanPositionCheckQuery

- java.lang.Object
- - org.apache.lucene.search.Query
  - - org.apache.lucene.search.spans.SpanQuery
    - - org.apache.lucene.search.spans.SpanPositionCheckQuery

All Implemented Interfaces:
  Cloneable

Direct Known Subclasses:
  SpanNearPayloadCheckQuery, SpanPayloadCheckQuery, SpanPositionRangeQuery

    public abstract class SpanPositionCheckQuery
    extends SpanQuery
    implements Cloneable

Base class for filtering a SpanQuery based on the position of a match.

### Nested Class Summary

Nested Classes
`protected static class` `SpanPositionCheckQuery.AcceptStatus` Return value for `acceptPosition(Spans)`.
`protected class` `SpanPositionCheckQuery.PositionCheckSpan`

### Field Summary

Fields
`protected SpanQuery` `match`

### Constructor Summary

Constructors
Constructor and Description
`SpanPositionCheckQuery(SpanQuery match)`

### Method Summary

Methods
`protected abstract SpanPositionCheckQuery.AcceptStatus` `acceptPosition(Spans spans)` Implementing classes are required to return whether the current position is a match for the passed in "match" `SpanQuery`.
`void` `extractTerms(Set<Term> terms)` Expert: adds all terms occurring in this query to the terms set.
`String` `getField()` Returns the name of the field matched by this query.
`SpanQuery` `getMatch()`
`Spans` `getSpans(AtomicReaderContext context, Bits acceptDocs, Map<Term,TermContext> termContexts)` Expert: Returns the matches for this query in an index.
`Query` `rewrite(IndexReader reader)` Expert: called to re-write queries into primitive queries.

### Methods inherited from class org.apache.lucene.search.spans.SpanQuery

`createWeight`

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

`clone, equals, getBoost, hashCode, setBoost, toString, toString`

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

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

### Field Detail

#### match

    protected SpanQuery match

### Constructor Detail

#### SpanPositionCheckQuery

    public SpanPositionCheckQuery(SpanQuery match)

### Method Detail

#### getMatch

    public SpanQuery getMatch()

Returns:
  the SpanQuery whose matches are filtered.

#### getField

    public String getField()

Description copied from class: `SpanQuery`
Returns the name of the field matched by this query.

Specified by:
  `getField` in class `SpanQuery`

#### extractTerms

    public void extractTerms(Set<Term> terms)

Description copied from class: `Query`
Expert: adds all terms occurring in this query to the terms set. Only works if this query is in its `rewritten` form.

Overrides:
  `extractTerms` in class `Query`

#### acceptPosition

    protected abstract SpanPositionCheckQuery.AcceptStatus acceptPosition(Spans spans)
                                                                   throws IOException

Implementing classes are required to return whether the current position is a match for the passed in "match" `SpanQuery`. This is only called if the underlying `Spans.next()` for the match is successful

Parameters:
  `spans` - The `Spans` instance, positioned at the spot to check
Returns:
  whether the match is accepted, rejected, or rejected and should move to the next doc.
Throws:
  `IOException`
See Also:
  `Spans.next()`

#### getSpans

    public Spans getSpans(AtomicReaderContext context,
                 Bits acceptDocs,
                 Map<Term,TermContext> termContexts)
                   throws IOException

Description copied from class: `SpanQuery`
Expert: Returns the matches for this query in an index. Used internally to search for spans.

Specified by:
  `getSpans` in class `SpanQuery`
Throws:
  `IOException`

#### rewrite

    public Query rewrite(IndexReader reader)
                  throws IOException

Description copied from class: `Query`
Expert: called to re-write queries into primitive queries. For example, a PrefixQuery will be rewritten into a BooleanQuery that consists of TermQuerys.

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