public class BKDPointInPolygonQuery extends Query
The field must be indexed with BKDTreeDocValuesFormat
, and BKDPointField
added per document.
Because this implementation cannot intersect each cell with the polygon, it will be costly especially for large polygons, as every possible point must be checked.
NOTE: for fastest performance, this allocates FixedBitSet(maxDoc) for each segment. The score of each hit is the query boost.
Constructor and Description |
---|
BKDPointInPolygonQuery(String field,
double[] polyLats,
double[] polyLons)
The lats/lons must be clockwise or counter-clockwise.
|
Modifier and Type | Method and Description |
---|---|
Weight |
createWeight(IndexSearcher searcher,
boolean needsScores)
Expert: Constructs an appropriate Weight implementation for this query.
|
boolean |
equals(Object o) |
int |
hashCode() |
String |
toString(String field)
Prints a query to a string, with
field assumed to be the
default field and omitted. |
public BKDPointInPolygonQuery(String field, double[] polyLats, double[] polyLons)
public Weight createWeight(IndexSearcher searcher, boolean needsScores) throws IOException
Query
Only implemented by primitive queries, which re-write to themselves.
createWeight
in class Query
needsScores
- True if document scores (Scorer.score()
) or match
frequencies (Scorer.freq()
) are needed.IOException
Copyright © 2000–2015 The Apache Software Foundation. All rights reserved.