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.AcceptStatus, SpanPositionCheckQuery.PositionCheckSpan`

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

Methods
`protected SpanPositionCheckQuery.AcceptStatus` `acceptPosition(Spans spans)` Implementing classes are required to return whether the current position is a match for the passed in "match" `SpanQuery`.
`SpanFirstQuery` `clone()` Returns a clone of this query.
`boolean` `equals(Object o)`
`int` `hashCode()`
`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

`getEnd, getStart`

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

`extractTerms, getField, getMatch, getSpans, rewrite`

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

`createWeight`

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

`getBoost, setBoost, toString`

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

`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 SpanPositionCheckQuery.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 `Spans.next()` for the match is successful

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:
  `Spans.next()`

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

#### clone

    public SpanFirstQuery clone()

Description copied from class: `Query`
Returns a clone of this query.

Overrides:
  `clone` in class `SpanPositionRangeQuery`

#### equals

    public boolean equals(Object o)

Overrides:
  `equals` in class `SpanPositionRangeQuery`

#### hashCode

    public int hashCode()

Overrides:
  `hashCode` in class `SpanPositionRangeQuery`