Class SpanPositionCheckQuery

java.lang.Object
org.apache.lucene.search.Query
org.apache.lucene.queries.spans.SpanQuery
org.apache.lucene.queries.spans.SpanPositionCheckQuery
All Implemented Interfaces:
Cloneable
Direct Known Subclasses:
SpanPositionRangeQuery

public abstract class SpanPositionCheckQuery extends SpanQuery implements Cloneable
Base class for filtering a SpanQuery based on the position of a match.
  • Field Details

  • Constructor Details

    • SpanPositionCheckQuery

      public SpanPositionCheckQuery(SpanQuery match)
  • Method Details

    • 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
    • acceptPosition

      protected abstract FilterSpans.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 last Spans.nextStartPosition() for the match indicated a valid start position.

      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:
    • createWeight

      public SpanWeight createWeight(IndexSearcher searcher, ScoreMode scoreMode, float boost) throws IOException
      Description copied from class: Query
      Expert: Constructs an appropriate Weight implementation for this query.

      Only implemented by primitive queries, which re-write to themselves.

      Specified by:
      createWeight in class SpanQuery
      scoreMode - How the produced scorers will be consumed.
      boost - The boost that is propagated by the parent queries.
      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.

      Callers are expected to call rewrite multiple times if necessary, until the rewritten query is the same as the original query.

      Overrides:
      rewrite in class Query
      Throws:
      IOException
      See Also:
    • visit

      public void visit(QueryVisitor visitor)
      Description copied from class: Query
      Recurse through the query tree, visiting any child queries
      Specified by:
      visit in class Query
      Parameters:
      visitor - a QueryVisitor to be called by each query in the tree
    • equals

      public boolean equals(Object other)
      Returns true iff other is equal to this.
      Specified by:
      equals in class Query
      See Also:
    • hashCode

      public int hashCode()
      Description copied from class: Query
      Override and implement query hash code properly in a subclass. This is required so that QueryCache works properly.
      Specified by:
      hashCode in class Query
      See Also: