public class

SpanNearQuery

extends SpanQuery
implements Cloneable
java.lang.Object
   ↳ org.apache.lucene.search.Query
     ↳ org.apache.lucene.search.spans.SpanQuery
       ↳ org.apache.lucene.search.spans.SpanNearQuery
Known Direct Subclasses

Class Overview

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.

Summary

Fields
protected List<SpanQuery> clauses
protected String field
protected boolean inOrder
protected int slop
Public Constructors
SpanNearQuery(SpanQuery[] clauses, int slop, boolean inOrder)
Construct a SpanNearQuery.
SpanNearQuery(SpanQuery[] clauses, int slop, boolean inOrder, boolean collectPayloads)
Public Methods
Object clone()
Returns a clone of this query.
boolean equals(Object o)
Returns true iff o is equal to this.
void extractTerms(Set<Term> terms)
Expert: adds all terms occurring in this query to the terms set.
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.
Spans getSpans(IndexReader reader)
Expert: Returns the matches for this query in an index.
int hashCode()
boolean isInOrder()
Return true if matches are required to be in-order.
Query rewrite(IndexReader reader)
Expert: called to re-write queries into primitive queries.
String toString(String field)
Prints a query to a string, with field assumed to be the default field and omitted.
[Expand]
Inherited Methods
From class org.apache.lucene.search.spans.SpanQuery
From class org.apache.lucene.search.Query
From class java.lang.Object

Fields

protected List<SpanQuery> clauses

protected String field

protected boolean inOrder

protected int slop

Public Constructors

public SpanNearQuery (SpanQuery[] clauses, 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 * ordered as in clauses.

Parameters
clauses the clauses to find near each other
slop The slop value
inOrder true if order is important

public SpanNearQuery (SpanQuery[] clauses, int slop, boolean inOrder, boolean collectPayloads)

Public Methods

public Object clone ()

Returns a clone of this query.

public boolean equals (Object o)

Returns true iff o is equal to this.

public void extractTerms (Set<Term> terms)

Expert: adds all terms occurring in this query to the terms set. Only works if this query is in its rewritten form.

public SpanQuery[] getClauses ()

Return the clauses whose spans are matched.

public String getField ()

Returns the name of the field matched by this query.

public int getSlop ()

Return the maximum number of intervening unmatched positions permitted.

public Spans getSpans (IndexReader reader)

Expert: Returns the matches for this query in an index. Used internally to search for spans.

Throws
IOException

public int hashCode ()

public boolean isInOrder ()

Return true if matches are required to be in-order.

public Query rewrite (IndexReader reader)

Expert: called to re-write queries into primitive queries. For example, a PrefixQuery will be rewritten into a BooleanQuery that consists of TermQuerys.

Throws
IOException

public String toString (String field)

Prints a query to a string, with field assumed to be the default field and omitted.

The representation used is one that is supposed to be readable by QueryParser. However, there are the following limitations:

  • If the query was created by the parser, the printed representation may not be exactly what was parsed. For example, characters that need to be escaped will be represented without the required backslash.
  • Some of the more complicated queries (e.g. span queries) don't have a representation that can be parsed by QueryParser.