org.apache.lucene.search.spans

## Class SpanFirstQuery

- java.lang.Object
- - org.apache.lucene.search.Query
  - - org.apache.lucene.search.spans.SpanQuery
    - - org.apache.lucene.search.spans.SpanPositionCheckQuery
      - - org.apache.lucene.search.spans.SpanPositionRangeQuery
        - - org.apache.lucene.search.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.search.spans.SpanPositionCheckQuery

`SpanPositionCheckQuery.SpanPositionCheckWeight`

### Field Summary

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

`end, start`

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

`match`

### Constructor Summary

Constructors
Constructor and 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

All Methods Instance Methods Concrete Methods
`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)` Prints a query to a string, with `field` assumed to be the default field and omitted.

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

`equals, getEnd, getStart, hashCode`

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

`createWeight, getField, getMatch, rewrite, visit`

### Methods inherited from class org.apache.lucene.search.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 Detail

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

#### acceptPosition

    protected FilterSpans.AcceptStatus acceptPosition(Spans spans)
                                               throws IOException

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.
Throws:
  `IOException`
See Also:
  `DocIdSetIterator.nextDoc()`

#### toString

    public String toString(String field)

Description copied from class: `Query`
Prints a query to a string, with `field` assumed to be the default field and omitted.

Overrides:
  `toString` in class `SpanPositionRangeQuery`