Class SpanTermQuery


public class SpanTermQuery extends SpanQuery
Matches spans containing a term. This should not be used for terms that are indexed at position Integer.MAX_VALUE.
  • Field Details

    • term

      protected final Term term
    • termStates

      protected final TermStates termStates
    • PHRASE_TO_SPAN_TERM_POSITIONS_COST

      private static final float PHRASE_TO_SPAN_TERM_POSITIONS_COST
      A guess of the relative cost of dealing with the term positions when using a SpanNearQuery instead of a PhraseQuery.
      See Also:
    • TERM_POSNS_SEEK_OPS_PER_DOC

      private static final int TERM_POSNS_SEEK_OPS_PER_DOC
      See Also:
    • TERM_OPS_PER_POS

      private static final int TERM_OPS_PER_POS
      See Also:
  • Constructor Details

    • SpanTermQuery

      public SpanTermQuery(Term term)
      Construct a SpanTermQuery matching the named term's spans.
    • SpanTermQuery

      public SpanTermQuery(Term term, TermStates termStates)
      Expert: Construct a SpanTermQuery matching the named term's spans, using the provided TermStates
  • Method Details

    • getTerm

      public Term getTerm()
      Return the term whose spans are matched.
    • getTermStates

      public TermStates getTermStates()
      Returns the TermStates passed to the constructor, or null if it was not passed.
    • 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
    • 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
    • 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
    • termPositionsCost

      static float termPositionsCost(TermsEnum termsEnum) throws IOException
      Returns an expected cost in simple operations of processing the occurrences of a term in a document that contains the term.
      Parameters:
      termsEnum - The term is the term at which this TermsEnum is positioned.

      This is a copy of org.apache.lucene.search.PhraseQuery.termPositionsCost().
      TODO: keep only a single copy of this method and the constants used in it when SpanTermQuery moves to the o.a.l.search package.

      Throws:
      IOException
    • toString

      public String toString(String field)
      Description copied from class: Query
      Prints a query to a string, with field assumed to be the default field and omitted.
      Specified by:
      toString in class Query
    • 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:
    • equals

      public boolean equals(Object other)
      Description copied from class: Query
      Override and implement query instance equivalence properly in a subclass. This is required so that QueryCache works properly.

      Typically a query will be equal to another only if it's an instance of the same class and its document-filtering properties are identical that other instance. Utility methods are provided for certain repetitive code.

      Specified by:
      equals in class Query
      See Also: