Class PointRangeQuery
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
ConstructorsModifierConstructorDescriptionprotected
PointRangeQuery
(String field, byte[] lowerPoint, byte[] upperPoint, int numDims) Expert: create a multidimensional range query for point values. -
Method Summary
Modifier and TypeMethodDescriptionstatic void
Check preconditions for all factory methodsfinal 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.int
getField()
byte[]
int
byte[]
final int
hashCode()
Override and implement query hash code properly in a subclass.rewrite
(IndexSearcher searcher) Expert: called to re-write queries into primitive queries.protected abstract String
toString
(int dimension, byte[] value) Returns a string of a single value in a human-readable format for debugging.final String
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.Methods inherited from class org.apache.lucene.search.Query
classHash, 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
- iffield
is null, or iflowerValue.length != upperValue.length
-
-
Method Details
-
checkArgs
Check preconditions for all factory methods- Throws:
IllegalArgumentException
- iffield
,lowerPoint
orupperPoint
are null.
-
visit
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
- 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:Query
Override and implement query hash code properly in a subclass. This is required so thatQueryCache
works properly. -
equals
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.
-
toString
Description copied from class:Query
Prints a query to a string, withfield
assumed 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
-
rewrite
Description copied from class:Query
Expert: called to re-write queries into primitive queries. For example, a PrefixQuery will be rewritten into a BooleanQuery that consists of TermQuerys.Callers are expected to call
rewrite
multiple times if necessary, until the rewritten query is the same as the original query.The rewrite process may be able to make use of IndexSearcher's executor and be executed in parallel if the executor is provided.
- Overrides:
rewrite
in classQuery
- Throws:
IOException
- See Also:
-