Package org.apache.lucene.queries.spans

# Class SpanFirstQuery

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

All Implemented Interfaces:
  `Cloneable`

public class SpanFirstQuery extends SpanPositionRangeQuery
Matches spans near the beginning of a field.

This class is a simple extension of `SpanPositionRangeQuery` in that it assumes the start to be zero and only checks the end boundary.

- ## Nested Class Summary

  ## Nested classes/interfaces inherited from class org.apache.lucene.queries.spans.SpanPositionCheckQuery

  `SpanPositionCheckQuery.SpanPositionCheckWeight`

- ## Field Summary

  ### Fields inherited from class org.apache.lucene.queries.spans.SpanPositionRangeQuery

  `end, start`

  ### Fields inherited from class org.apache.lucene.queries.spans.SpanPositionCheckQuery

  `match`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `SpanFirstQuery(SpanQuery match, int end)`
  Construct a SpanFirstQuery matching spans in `match` whose end position is less than or equal to `end`.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `protected FilterSpans.AcceptStatus`
  `acceptPosition(Spans spans)`
  Implementing classes are required to return whether the current position is a match for the passed in "match" `SpanQuery`.
  `String`
  `toString(String field)`

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

  `equals, getEnd, getStart, hashCode`

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

  `createWeight, getField, getMatch, rewrite, visit`

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

  `getTermStates, getTermStates`

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

  - ### SpanFirstQuery

    public SpanFirstQuery(SpanQuery match, int end)
    Construct a SpanFirstQuery matching spans in `match` whose end position is less than or equal to `end`.

- ## Method Details

  - ### acceptPosition

    protected FilterSpans.AcceptStatus acceptPosition(Spans spans)
    Description copied from class: `SpanPositionCheckQuery`
    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.

    Overrides:
      `acceptPosition` in class `SpanPositionRangeQuery`
    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.
    See Also:
      - `DocIdSetIterator.nextDoc()`

  - ### toString

    public String toString(String field)
    Overrides:
      `toString` in class `SpanPositionRangeQuery`