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`