Package org.apache.lucene.search
Class PointRangeQuery
- java.lang.Object
-
- org.apache.lucene.search.Query
-
- org.apache.lucene.search.PointRangeQuery
-
public abstract class PointRangeQuery extends Query
Abstract class for range queries against single or multidimensional points such asIntPoint
.This is for subclasses and works on the underlying binary encoding: to create range queries for lucene's standard
Point
types, refer to factory methods on those classes, e.g.IntPoint.newRangeQuery()
for fields indexed withIntPoint
.For a single-dimensional field this query is a simple range query; in a multi-dimensional field it's a box shape.
- See Also:
PointValues
- WARNING: This API is experimental and might change in incompatible ways in the next release.
-
-
Constructor Summary
Constructors Modifier Constructor Description protected
PointRangeQuery(String field, byte[] lowerPoint, byte[] upperPoint, int numDims)
Expert: create a multidimensional range query for point values.
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description static void
checkArgs(String field, Object lowerPoint, Object upperPoint)
Check preconditions for all factory methodsWeight
createWeight(IndexSearcher searcher, ScoreMode scoreMode, float boost)
Expert: Constructs an appropriate Weight implementation for this query.boolean
equals(Object o)
Override and implement query instance equivalence properly in a subclass.int
getBytesPerDim()
String
getField()
byte[]
getLowerPoint()
int
getNumDims()
byte[]
getUpperPoint()
int
hashCode()
Override and implement query hash code properly in a subclass.protected abstract String
toString(int dimension, byte[] value)
Returns a string of a single value in a human-readable format for debugging.String
toString(String field)
Prints a query to a string, withfield
assumed to be the default field and omitted.void
visit(QueryVisitor visitor)
Recurse through the query tree, visiting any child queries.
-
-
-
Constructor Detail
-
PointRangeQuery
protected PointRangeQuery(String field, byte[] lowerPoint, byte[] upperPoint, int numDims)
Expert: create a multidimensional range query for point values.- Parameters:
field
- field name. must not benull
.lowerPoint
- lower portion of the range (inclusive).upperPoint
- upper portion of the range (inclusive).numDims
- number of dimensions.- Throws:
IllegalArgumentException
- iffield
is null, or iflowerValue.length != upperValue.length
-
-
Method Detail
-
checkArgs
public static void checkArgs(String field, Object lowerPoint, Object upperPoint)
Check preconditions for all factory methods- Throws:
IllegalArgumentException
- iffield
,lowerPoint
orupperPoint
are null.
-
visit
public void visit(QueryVisitor visitor)
Description copied from class:Query
Recurse through the query tree, visiting any child queries.
-
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 classQuery
scoreMode
- How the produced scorers will be consumed.boost
- The boost that is propagated by the parent queries.- Throws:
IOException
-
getField
public String getField()
-
getNumDims
public int getNumDims()
-
getBytesPerDim
public int getBytesPerDim()
-
getLowerPoint
public byte[] getLowerPoint()
-
getUpperPoint
public byte[] getUpperPoint()
-
hashCode
public final int hashCode()
Description copied from class:Query
Override and implement query hash code properly in a subclass. This is required so thatQueryCache
works properly.- Specified by:
hashCode
in classQuery
- 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 thatQueryCache
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 classQuery
- See Also:
Query.sameClassAs(Object)
,Query.classHash()
-
toString
public final String toString(String field)
Description copied from class:Query
Prints a query to a string, withfield
assumed to be the default field and omitted.
-
toString
protected abstract String toString(int dimension, byte[] value)
Returns a string of a single value in a human-readable format for debugging. This is used byQuery.toString()
.- Parameters:
dimension
- dimension of the particular valuevalue
- single value, never null- Returns:
- human readable value for debugging
-
-