Class RangeFieldQuery

    • Nested Class Summary

      Nested Classes 
      Modifier and Type Class Description
      (package private) static class  RangeFieldQuery.QueryType
      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) int bytesPerDim
      number of bytes per dimension
      (package private) java.lang.String field
      field name
      (package private) int numDims
      number of dimensions - max 4
      (package private) RangeFieldQuery.QueryType queryType
      query relation intersects: CELL_CROSSES_QUERY, contains: CELL_CONTAINS_QUERY, within: CELL_WITHIN_QUERY
      (package private) byte[] ranges
      ranges encoded as a sortable byte array
    • Constructor Summary

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

      All Methods Static Methods Instance Methods Abstract Methods Concrete Methods 
      Modifier and Type Method Description
      private static void checkArgs​(java.lang.String field, byte[] ranges, int numDims)
      check input arguments
      private void checkFieldInfo​(FieldInfo fieldInfo)
      Check indexed field info against the provided query data.
      Weight createWeight​(IndexSearcher searcher, ScoreMode scoreMode, float boost)
      Expert: Constructs an appropriate Weight implementation for this query.
      boolean equals​(java.lang.Object o)
      Override and implement query instance equivalence properly in a subclass.
      protected boolean equalsTo​(RangeFieldQuery other)  
      int hashCode()
      Override and implement query hash code properly in a subclass.
      protected abstract java.lang.String toString​(byte[] ranges, int dimension)
      Returns a string of a single value in a human-readable format for debugging.
      java.lang.String toString​(java.lang.String field)
      Prints a query to a string, with field assumed to be the default field and omitted.
      void visit​(QueryVisitor visitor)
      Recurse through the query tree, visiting any child queries
      • Methods inherited from class java.lang.Object

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

      • field

        final java.lang.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
    • Constructor Detail

      • RangeFieldQuery

        RangeFieldQuery​(java.lang.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 Detail

      • checkArgs

        private static void checkArgs​(java.lang.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
        Overrides:
        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 java.io.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:
        java.io.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:
        Query.equals(Object)
      • equals

        public final boolean equals​(java.lang.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:
        Query.sameClassAs(Object), Query.classHash()
      • toString

        public java.lang.String toString​(java.lang.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 java.lang.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