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.
  • 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.
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    (package private) final int
    number of bytes per dimension
    (package private) final ArrayUtil.ByteArrayComparator
    ByteArrayComparator selected by bytesPerDim
    (package private) final String
    field name
    (package private) final int
    number of dimensions - max 4
    (package private) final RangeFieldQuery.QueryType
    query relation intersects: CELL_CROSSES_QUERY, contains: CELL_CONTAINS_QUERY, within: CELL_WITHIN_QUERY
    (package private) final byte[]
    ranges encoded as a sortable byte array
  • 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
    private static void
    checkArgs(String field, byte[] ranges, int numDims)
    check input arguments
    private void
    Check indexed field info against the provided query data.
    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, rewrite, sameClassAs, toString

    Methods inherited from class java.lang.Object

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

    • field

      final String field
      field name
    • queryType

      final RangeFieldQuery.QueryType queryType
      query relation intersects: CELL_CROSSES_QUERY, contains: CELL_CONTAINS_QUERY, within: CELL_WITHIN_QUERY
    • numDims

      final int numDims
      number of dimensions - max 4
    • ranges

      final byte[] ranges
      ranges encoded as a sortable byte array
    • bytesPerDim

      final int bytesPerDim
      number of bytes per dimension
    • comparator

      ByteArrayComparator selected by bytesPerDim
  • 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

    • checkArgs

      private static void checkArgs(String field, byte[] ranges, int numDims)
      check input arguments
    • checkFieldInfo

      private void checkFieldInfo(FieldInfo fieldInfo)
      Check indexed field info against the provided query data.
    • 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 to those of the 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