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

    All Methods Static Methods Instance Methods Concrete Methods
    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, rewrite, sameClassAs, toString`

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

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

- - ### Field Detail

    - #### clauses

          protected List<SpanQuery> clauses

    - #### slop

          protected int slop

    - #### inOrder

          protected boolean inOrder

    - #### field

          protected String field

  - ### Constructor Detail

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

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