Class RangeFieldQuery

java.lang.Object
org.apache.lucene.search.Query
org.apache.lucene.document.RangeFieldQuery

public abstract class RangeFieldQuery extends Query
Query class for searching RangeField types by a defined PointValues.Relation.
NOTE: This API is for internal purposes only and might change in incompatible ways in the next release.
  • Nested Class Summary

    Nested Classes
    Modifier and Type
    Class
    Description
    static enum 
    Used by RangeFieldQuery to check how each internal or leaf node relates to the query.
  • Constructor Summary

    Constructors
    Modifier
    Constructor
    Description
    protected
    RangeFieldQuery(String field, byte[] ranges, int numDims, RangeFieldQuery.QueryType queryType)
    Create a query for searching indexed ranges that match the provided relation.
  • Method Summary

    Modifier and Type
    Method
    Description
    final Weight
    createWeight(IndexSearcher searcher, ScoreMode scoreMode, float boost)
    Expert: Constructs an appropriate Weight implementation for this query.
    final boolean
    Override and implement query instance equivalence properly in a subclass.
    protected boolean
    Check equality of two RangeFieldQuery objects
    int
    Override and implement query hash code properly in a subclass.
    protected abstract String
    toString(byte[] ranges, int dimension)
    Returns a string of a single value in a human-readable format for debugging.
    Prints a query to a string, with field assumed to be the default field and omitted.
    void
    Recurse through the query tree, visiting any child queries

    Methods inherited from class org.apache.lucene.search.Query

    classHash, rewrite, sameClassAs, toString

    Methods inherited from class java.lang.Object

    clone, finalize, getClass, notify, notifyAll, wait, wait, wait
  • Constructor Details

    • RangeFieldQuery

      protected RangeFieldQuery(String field, byte[] ranges, int numDims, RangeFieldQuery.QueryType queryType)
      Create a query for searching indexed ranges that match the provided relation.
      Parameters:
      field - field name. must not be null.
      ranges - encoded range values; this is done by the RangeField implementation
      queryType - the query relation
  • Method Details

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

      public final Weight 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.

      Overrides:
      createWeight in class Query
      scoreMode - How the produced scorers will be consumed.
      boost - The boost that is propagated by the parent queries.
      Throws:
      IOException
    • 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 final boolean equals(Object o)
      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:
    • equalsTo

      protected boolean equalsTo(RangeFieldQuery other)
      Check equality of two RangeFieldQuery objects
    • 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
    • toString

      protected abstract String toString(byte[] ranges, int dimension)
      Returns a string of a single value in a human-readable format for debugging. This is used by Query.toString().
      Parameters:
      dimension - dimension of the particular value
      ranges - encoded ranges, never null
      Returns:
      human readable value for debugging