Package org.apache.lucene.document
Class RangeFieldQuery
java.lang.Object
org.apache.lucene.search.Query
org.apache.lucene.document.RangeFieldQuery
Query class for searching
RangeField
types by a defined PointValues.Relation
.-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic enum
Used byRangeFieldQuery
to check how each internal or leaf node relates to the query. -
Field Summary
FieldsModifier and TypeFieldDescription(package private) final int
number of bytes per dimension(package private) final String
field name(package private) final int
number of dimensions - max 4(package private) final RangeFieldQuery.QueryType
query relation intersects:CELL_CROSSES_QUERY
, contains:CELL_CONTAINS_QUERY
, within:CELL_WITHIN_QUERY
(package private) final byte[]
ranges encoded as a sortable byte array -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotected
RangeFieldQuery
(String field, byte[] ranges, int numDims, RangeFieldQuery.QueryType queryType) Create a query for searching indexed ranges that match the provided relation. -
Method Summary
Modifier and TypeMethodDescriptionprivate static void
check input argumentsprivate void
checkFieldInfo
(FieldInfo fieldInfo) Check indexed field info against the provided query data.final 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.protected boolean
equalsTo
(RangeFieldQuery other) Check equality of two RangeFieldQuery objectsint
hashCode()
Override and implement query hash code properly in a subclass.protected abstract String
toString
(byte[] ranges, int dimension) Returns a string of a single value in a human-readable format for debugging.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 queriesMethods inherited from class org.apache.lucene.search.Query
classHash, rewrite, sameClassAs, toString
-
Field Details
-
field
field name -
queryType
query relation intersects:CELL_CROSSES_QUERY
, contains:CELL_CONTAINS_QUERY
, within:CELL_WITHIN_QUERY
-
numDims
final int numDimsnumber of dimensions - max 4 -
ranges
final byte[] rangesranges encoded as a sortable byte array -
bytesPerDim
final int bytesPerDimnumber of bytes per dimension
-
-
Constructor Details
-
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 theRangeField
implementationqueryType
- the query relation
-
-
Method Details
-
checkArgs
check input arguments -
checkFieldInfo
Check indexed field info against the provided query data. -
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
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 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 that other instance. Utility methods are provided for certain repetitive code.
-
equalsTo
Check equality of two RangeFieldQuery objects -
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 valueranges
- encoded ranges, never null- Returns:
- human readable value for debugging
-