Package org.apache.lucene.queries.spans

# Class SpanNearQuery

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

All Implemented Interfaces:
  `Cloneable`

public class SpanNearQuery extends SpanQuery implements Cloneable
Matches spans which are near one another. One can specify slop, the maximum number of intervening unmatched positions, as well as whether matches are required to be in-order.

## Nested Class Summary

Nested Classes
Modifier and Type
Class
Description
`static class`
`SpanNearQuery.Builder`
A builder for SpanNearQueries
`class`
`SpanNearQuery.SpanNearWeight`
Creates SpanNearQuery scorer instances

## Field Summary

Fields
Modifier and Type
Field
Description
`protected List<SpanQuery>`
`clauses`
`protected String`
`field`
`protected boolean`
`inOrder`
`protected int`
`slop`

## Constructor Summary

Constructors
Constructor
Description
`SpanNearQuery(SpanQuery[] clausesIn, int slop, boolean inOrder)`
Construct a SpanNearQuery.

## Method Summary

Modifier and Type
Method
Description
`SpanWeight`
`createWeight(IndexSearcher searcher, ScoreMode scoreMode, float boost)`
`boolean`
`equals(Object other)`
`SpanQuery[]`
`getClauses()`
Return the clauses whose spans are matched.
`String`
`getField()`
Returns the name of the field matched by this query.
`int`
`getSlop()`
Return the maximum number of intervening unmatched positions permitted.
`int`
`hashCode()`
`boolean`
`isInOrder()`
Return true if matches are required to be in-order.
`static SpanNearQuery.Builder`
`newOrderedNearQuery(String field)`
Returns a `SpanNearQuery.Builder` for an ordered query on a particular field
`static SpanNearQuery.Builder`
`newUnorderedNearQuery(String field)`
Returns a `SpanNearQuery.Builder` for an unordered query on a particular field
`Query`
`rewrite(IndexSearcher indexSearcher)`
`String`
`toString(String field)`
`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`

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

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

## Field Details

### clauses

protected List<SpanQuery> clauses

### slop

protected int slop

### inOrder

protected boolean inOrder

### field

protected String field

## Constructor Details

### SpanNearQuery

public SpanNearQuery(SpanQuery[] clausesIn, int slop, boolean inOrder)
Construct a SpanNearQuery. Matches spans matching a span from each clause, with up to `slop` total unmatched positions between them.
When `inOrder` is true, the spans from each clause must be in the same order as in `clauses` and must be non-overlapping.
When `inOrder` is false, the spans from each clause need not be ordered and may overlap.

Parameters:
  `clausesIn` - the clauses to find near each other, in the same field, at least 2.
  `slop` - The slop value
  `inOrder` - true if order is important

## Method Details

### newOrderedNearQuery

public static SpanNearQuery.Builder newOrderedNearQuery(String field)
Returns a `SpanNearQuery.Builder` for an ordered query on a particular field

### newUnorderedNearQuery

public static SpanNearQuery.Builder newUnorderedNearQuery(String field)
Returns a `SpanNearQuery.Builder` for an unordered query on a particular field

### getClauses

public SpanQuery[] getClauses()
Return the clauses whose spans are matched.

### getSlop

public int getSlop()
Return the maximum number of intervening unmatched positions permitted.

### isInOrder

public boolean isInOrder()
Return true if matches are required to be in-order.

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

### toString

public String toString(String field)

Specified by:
  `toString` in class `Query`

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

Specified by:
  `equals` in class `Query`

### hashCode

public int hashCode()

Specified by:
  `hashCode` in class `Query`