Class 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.
    • Constructor Detail

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

      • 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:
        Query.equals(Object)
      • 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:
        Query.sameClassAs(Object), Query.classHash()
      • 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