org.apache.lucene.search.spans
Class SpanPositionCheckQuery

java.lang.Object
  extended by org.apache.lucene.search.Query
      extended by org.apache.lucene.search.spans.SpanQuery
          extended by org.apache.lucene.search.spans.SpanPositionCheckQuery
All Implemented Interfaces:
Serializable, Cloneable
Direct Known Subclasses:
SpanNearPayloadCheckQuery, SpanPayloadCheckQuery, SpanPositionRangeQuery

public abstract class SpanPositionCheckQuery
extends SpanQuery
implements Cloneable

Base class for filtering a SpanQuery based on the position of a match.

See Also:
Serialized Form

Nested Class Summary
protected static class SpanPositionCheckQuery.AcceptStatus
          Return value if the match should be accepted YES, rejected NO, or rejected and enumeration should advance to the next document NO_AND_ADVANCE.
protected  class SpanPositionCheckQuery.PositionCheckSpan
           
 
Field Summary
protected  SpanQuery match
           
 
Constructor Summary
SpanPositionCheckQuery(SpanQuery match)
           
 
Method Summary
protected abstract  SpanPositionCheckQuery.AcceptStatus acceptPosition(Spans spans)
          Implementing classes are required to return whether the current position is a match for the passed in "match" SpanQuery.
 void extractTerms(Set<Term> terms)
          Expert: adds all terms occurring in this query to the terms set.
 String getField()
          Returns the name of the field matched by this query.
 SpanQuery getMatch()
           
 Spans getSpans(IndexReader reader)
          Expert: Returns the matches for this query in an index.
 Query rewrite(IndexReader reader)
          Expert: called to re-write queries into primitive queries.
 
Methods inherited from class org.apache.lucene.search.spans.SpanQuery
createWeight
 
Methods inherited from class org.apache.lucene.search.Query
clone, combine, equals, getBoost, getSimilarity, hashCode, mergeBooleanQueries, setBoost, toString, toString, weight
 
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
 

Field Detail

match

protected SpanQuery match
Constructor Detail

SpanPositionCheckQuery

public SpanPositionCheckQuery(SpanQuery match)
Method Detail

getMatch

public SpanQuery getMatch()
Returns:
the SpanQuery whose matches are filtered.

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

extractTerms

public void extractTerms(Set<Term> terms)
Description copied from class: Query
Expert: adds all terms occurring in this query to the terms set. Only works if this query is in its rewritten form.

Overrides:
extractTerms in class Query

acceptPosition

protected abstract SpanPositionCheckQuery.AcceptStatus acceptPosition(Spans spans)
                                                               throws IOException
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

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

getSpans

public Spans getSpans(IndexReader reader)
               throws IOException
Description copied from class: SpanQuery
Expert: Returns the matches for this query in an index. Used internally to search for spans.

Specified by:
getSpans in class SpanQuery
Throws:
IOException

rewrite

public Query rewrite(IndexReader reader)
              throws IOException
Description copied from class: Query
Expert: called to re-write queries into primitive queries. For example, a PrefixQuery will be rewritten into a BooleanQuery that consists of TermQuerys.

Overrides:
rewrite in class Query
Throws:
IOException