public class SerializedDVStrategy extends SpatialStrategy
RecursivePrefixTreeStrategy)
to add precision or eventually make more specific / advanced calculations on the per-document
geometry.
The serialization uses Spatial4j's BinaryCodec.ctx| Constructor and Description |
|---|
SerializedDVStrategy(org.locationtech.spatial4j.context.SpatialContext ctx,
String fieldName)
Constructs the spatial strategy with its mandatory arguments.
|
| Modifier and Type | Method and Description |
|---|---|
Field[] |
createIndexableFields(org.locationtech.spatial4j.shape.Shape shape)
Returns the IndexableField(s) from the
shape that are to be
added to the Document. |
DoubleValuesSource |
makeDistanceValueSource(org.locationtech.spatial4j.shape.Point queryPoint,
double multiplier)
Make a ValueSource returning the distance between the center of the
indexed shape and
queryPoint. |
Query |
makeQuery(SpatialArgs args)
Returns a Query that should be used in a random-access fashion.
|
ShapeValuesSource |
makeShapeValueSource()
Provides access to each shape per document
|
getFieldName, getSpatialContext, makeDistanceValueSource, makeRecipDistanceValueSource, toStringpublic SerializedDVStrategy(org.locationtech.spatial4j.context.SpatialContext ctx,
String fieldName)
public Field[] createIndexableFields(org.locationtech.spatial4j.shape.Shape shape)
SpatialStrategyshape that are to be
added to the Document. These fields
are expected to be marked as indexed and not stored.
Note: If you want to store the shape as a string for retrieval in search results, you could add it like this:
document.add(new StoredField(fieldName,ctx.toString(shape)));The particular string representation used doesn't matter to the Strategy since it doesn't use it.
createIndexableFields in class SpatialStrategypublic DoubleValuesSource makeDistanceValueSource(org.locationtech.spatial4j.shape.Point queryPoint, double multiplier)
SpatialStrategyqueryPoint. If there are multiple indexed shapes
then the closest one is chosen. The result is multiplied by multiplier, which
conveniently is used to get the desired units.makeDistanceValueSource in class SpatialStrategypublic Query makeQuery(SpatialArgs args)
makeQuery in class SpatialStrategypublic ShapeValuesSource makeShapeValueSource()
Copyright © 2000-2020 Apache Software Foundation. All Rights Reserved.