Package org.apache.lucene.queries.spans

# Class SpanPositionCheckQuery

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

All Implemented Interfaces:
  `Cloneable`

Direct Known Subclasses:
  `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
  Modifier and Type
  Class
  Description
  `class`
  `SpanPositionCheckQuery.SpanPositionCheckWeight`
  Creates SpanPositionCheckQuery scorer instances

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `protected SpanQuery`
  `match`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `SpanPositionCheckQuery(SpanQuery match)`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `protected abstract FilterSpans.AcceptStatus`
  `acceptPosition(Spans spans)`
  Implementing classes are required to return whether the current position is a match for the passed in "match" `SpanQuery`.
  `SpanWeight`
  `createWeight(IndexSearcher searcher, ScoreMode scoreMode, float boost)`
  `boolean`
  `equals(Object other)`
  Returns true iff `other` is equal to this.
  `String`
  `getField()`
  Returns the name of the field matched by this query.
  `SpanQuery`
  `getMatch()`
  `int`
  `hashCode()`
  `Query`
  `rewrite(IndexSearcher indexSearcher)`
  `void`
  `visit(QueryVisitor visitor)`

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

  `getTermStates, getTermStates`

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

  `classHash, sameClassAs, toString, toString`

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

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

- ## Field Details

  - ### match

    protected SpanQuery match

- ## Constructor Details

  - ### SpanPositionCheckQuery

    public SpanPositionCheckQuery(SpanQuery match)

- ## Method Details

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

  - ### acceptPosition

    protected abstract FilterSpans.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 last `Spans.nextStartPosition()` for the match indicated a valid start position.

    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:
      - `DocIdSetIterator.nextDoc()`

  - ### createWeight

    public SpanWeight createWeight(IndexSearcher searcher, ScoreMode scoreMode, float boost) throws IOException
    Specified by:
      `createWeight` in class `SpanQuery`
    Throws:
      `IOException`

  - ### rewrite

    public Query rewrite(IndexSearcher indexSearcher) throws IOException
    Overrides:
      `rewrite` in class `Query`
    Throws:
      `IOException`

  - ### visit

    public void visit(QueryVisitor visitor)
    Specified by:
      `visit` in class `Query`

  - ### equals

    public boolean equals(Object other)
    Returns true iff `other` is equal to this.
    Specified by:
      `equals` in class `Query`

  - ### hashCode

    public int hashCode()
    Specified by:
      `hashCode` in class `Query`