SpanNearQuery (Lucene 10.5.0 queries API)
Description: declaration: package: org.apache.lucene.queries.spans, class: SpanNearQuery

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`