Package org.apache.lucene.document
Class XYShapeLineQuery
- java.lang.Object
-
- org.apache.lucene.search.Query
-
- org.apache.lucene.document.ShapeQuery
-
- org.apache.lucene.document.XYShapeLineQuery
-
final class XYShapeLineQuery extends ShapeQuery
Finds all previously indexed cartesian shapes that intersect the specified arbitraryXYLine
.Note:
QueryRelation.WITHIN
queries are not yet supported
todo:
- Add distance support for buffered queries
The field must be indexed using
XYShape.createIndexableFields(java.lang.String, org.apache.lucene.geo.XYPolygon)
added per document.
-
-
Field Summary
Fields Modifier and Type Field Description private Component2D
line2D
(package private) XYLine[]
lines
-
Fields inherited from class org.apache.lucene.document.ShapeQuery
field, queryRelation
-
-
Constructor Summary
Constructors Constructor Description XYShapeLineQuery(java.lang.String field, ShapeField.QueryRelation queryRelation, XYLine... lines)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected boolean
equalsTo(java.lang.Object o)
int
hashCode()
Override and implement query hash code properly in a subclass.protected boolean
queryMatches(byte[] t, ShapeField.DecodedTriangle scratchTriangle, ShapeField.QueryRelation queryRelation)
returns true if the provided triangle matches the queryprotected Component2D.WithinRelation
queryWithin(byte[] t, ShapeField.DecodedTriangle scratchTriangle)
Return the within relationship between the query and the indexed shape.protected PointValues.Relation
relateRangeBBoxToQuery(int minXOffset, int minYOffset, byte[] minTriangle, int maxXOffset, int maxYOffset, byte[] maxTriangle)
relates an internal node (bounding box of a range of triangles) to the target query Note: logic is specific to query type seeShapeQuery.relateRangeToQuery(byte[], byte[], org.apache.lucene.document.ShapeField.QueryRelation)
andShapeQuery.relateRangeToQuery(byte[], byte[], org.apache.lucene.document.ShapeField.QueryRelation)
java.lang.String
toString(java.lang.String field)
Prints a query to a string, withfield
assumed to be the default field and omitted.-
Methods inherited from class org.apache.lucene.document.ShapeQuery
createWeight, equals, getField, getQueryRelation, relateRangeToQuery, visit
-
Methods inherited from class org.apache.lucene.search.Query
classHash, rewrite, sameClassAs, toString
-
-
-
-
Field Detail
-
lines
final XYLine[] lines
-
line2D
private final Component2D line2D
-
-
Constructor Detail
-
XYShapeLineQuery
public XYShapeLineQuery(java.lang.String field, ShapeField.QueryRelation queryRelation, XYLine... lines)
-
-
Method Detail
-
relateRangeBBoxToQuery
protected PointValues.Relation relateRangeBBoxToQuery(int minXOffset, int minYOffset, byte[] minTriangle, int maxXOffset, int maxYOffset, byte[] maxTriangle)
Description copied from class:ShapeQuery
relates an internal node (bounding box of a range of triangles) to the target query Note: logic is specific to query type seeShapeQuery.relateRangeToQuery(byte[], byte[], org.apache.lucene.document.ShapeField.QueryRelation)
andShapeQuery.relateRangeToQuery(byte[], byte[], org.apache.lucene.document.ShapeField.QueryRelation)
- Specified by:
relateRangeBBoxToQuery
in classShapeQuery
-
queryMatches
protected boolean queryMatches(byte[] t, ShapeField.DecodedTriangle scratchTriangle, ShapeField.QueryRelation queryRelation)
Description copied from class:ShapeQuery
returns true if the provided triangle matches the query- Specified by:
queryMatches
in classShapeQuery
-
queryWithin
protected Component2D.WithinRelation queryWithin(byte[] t, ShapeField.DecodedTriangle scratchTriangle)
Description copied from class:ShapeQuery
Return the within relationship between the query and the indexed shape.- Specified by:
queryWithin
in classShapeQuery
-
toString
public java.lang.String toString(java.lang.String field)
Description copied from class:Query
Prints a query to a string, withfield
assumed to be the default field and omitted.
-
equalsTo
protected boolean equalsTo(java.lang.Object o)
- Overrides:
equalsTo
in classShapeQuery
-
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.- Overrides:
hashCode
in classShapeQuery
- See Also:
Query.equals(Object)
-
-