Package org.apache.lucene.sandbox.search
Class MultiRangeQuery
- java.lang.Object
-
- org.apache.lucene.search.Query
-
- org.apache.lucene.sandbox.search.MultiRangeQuery
-
- All Implemented Interfaces:
Cloneable
public abstract class MultiRangeQuery extends Query implements Cloneable
Abstract class for range queries involving multiple ranges against physical points such asIntPoints
All ranges are logically ORed together- WARNING: This API is experimental and might change in incompatible ways in the next release.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
MultiRangeQuery.Builder
A builder for multirange queries.static class
MultiRangeQuery.RangeClause
Representation of a single clause in a MultiRangeQuery
-
Constructor Summary
Constructors Modifier Constructor Description protected
MultiRangeQuery(String field, int numDims, int bytesPerDim, List<MultiRangeQuery.RangeClause> rangeClauses)
Expert: create a multidimensional range query with multiple connected ranges
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description Weight
createWeight(IndexSearcher searcher, ScoreMode scoreMode, float boost)
boolean
equals(Object o)
int
getBytesPerDim()
String
getField()
int
getNumDims()
int
hashCode()
Query
rewrite(IndexReader reader)
Merges the overlapping ranges and returns unconnected ranges by callingmergeOverlappingRanges(java.util.List<org.apache.lucene.sandbox.search.MultiRangeQuery.RangeClause>, int)
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)
void
visit(QueryVisitor visitor)
-
Methods inherited from class org.apache.lucene.search.Query
classHash, sameClassAs, toString
-
-
-
-
Constructor Detail
-
MultiRangeQuery
protected MultiRangeQuery(String field, int numDims, int bytesPerDim, List<MultiRangeQuery.RangeClause> rangeClauses)
Expert: create a multidimensional range query with multiple connected ranges- Parameters:
field
- field name. must not benull
.rangeClauses
- Range Clauses for this querynumDims
- number of dimensions.
-
-
Method Detail
-
visit
public void visit(QueryVisitor visitor)
-
rewrite
public Query rewrite(IndexReader reader) throws IOException
Merges the overlapping ranges and returns unconnected ranges by callingmergeOverlappingRanges(java.util.List<org.apache.lucene.sandbox.search.MultiRangeQuery.RangeClause>, int)
- Overrides:
rewrite
in classQuery
- Throws:
IOException
-
createWeight
public final Weight createWeight(IndexSearcher searcher, ScoreMode scoreMode, float boost) throws IOException
- Overrides:
createWeight
in classQuery
- Throws:
IOException
-
getField
public String getField()
-
getNumDims
public int getNumDims()
-
getBytesPerDim
public int getBytesPerDim()
-
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
-
-