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
      Parameters:
      scoreMode - How the produced scorers will be consumed.
      boost - The boost that is propagated by the parent queries.
      Throws:
      IOException
    • rewrite

      public Query rewrite(IndexSearcher indexSearcher) 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.

      The rewrite process may be able to make use of IndexSearcher's executor and be executed in parallel if the executor is provided.

      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: