Package org.apache.lucene.search
Class PointRangeQuery
java.lang.Object
org.apache.lucene.search.Query
org.apache.lucene.search.PointRangeQuery
Abstract class for range queries against single or multidimensional points such as
IntPoint.
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 with IntPoint.
For a single-dimensional field this query is a simple range query; in a multi-dimensional field it's a box shape.
- See Also:
- WARNING: This API is experimental and might change in incompatible ways in the next release.
-
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedPointRangeQuery(String field, byte[] lowerPoint, byte[] upperPoint, int numDims) Expert: create a multidimensional range query for point values. -
Method Summary
Modifier and TypeMethodDescriptionstatic voidCheck preconditions for all factory methodsfinal WeightcreateWeight(IndexSearcher searcher, ScoreMode scoreMode, float boost) Expert: Constructs an appropriate Weight implementation for this query.final booleanOverride and implement query instance equivalence properly in a subclass.intgetField()byte[]intbyte[]final inthashCode()Override and implement query hash code properly in a subclass.protected abstract StringtoString(int dimension, byte[] value) Returns a string of a single value in a human-readable format for debugging.final StringPrints a query to a string, withfieldassumed to be the default field and omitted.voidvisit(QueryVisitor visitor) Recurse through the query tree, visiting any child queries.Methods inherited from class org.apache.lucene.search.Query
classHash, rewrite, sameClassAs, toString
-
Constructor Details
-
PointRangeQuery
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- iffieldis null, or iflowerValue.length != upperValue.length
-
-
Method Details
-
checkArgs
Check preconditions for all factory methods- Throws:
IllegalArgumentException- iffield,lowerPointorupperPointare null.
-
visit
Description copied from class:QueryRecurse 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:QueryExpert: Constructs an appropriate Weight implementation for this query.Only implemented by primitive queries, which re-write to themselves.
- Overrides:
createWeightin classQuery- Parameters:
scoreMode- How the produced scorers will be consumed.boost- The boost that is propagated by the parent queries.- Throws:
IOException
-
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:QueryOverride and implement query hash code properly in a subclass. This is required so thatQueryCacheworks properly. -
equals
Description copied from class:QueryOverride and implement query instance equivalence properly in a subclass. This is required so thatQueryCacheworks 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.
-
toString
Description copied from class:QueryPrints a query to a string, withfieldassumed to be the default field and omitted. -
toString
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
-