Class SpatialFilterQParserPlugin

java.lang.Object
org.apache.solr.search.QParserPlugin
org.apache.solr.search.SpatialFilterQParserPlugin
All Implemented Interfaces:
NamedListInitializedPlugin
Direct Known Subclasses:
SpatialBoxQParserPlugin

public class SpatialFilterQParserPlugin extends QParserPlugin
Creates a spatial Filter based on the type of spatial point used.

The field must implement SpatialQueryable

All units are in Kilometers

Syntax:

{!geofilt sfield=<location_field> pt=<lat,lon> d=<distance>}

Parameters:

  • sfield - The field to filter on. Required.
  • pt - The point to use as a reference. Must match the dimension of the field. Required.
  • d - The distance in km. Required.
The distance measure used currently depends on the FieldType. LatLonPointSpatialField defaults to using haversine, PointType defaults to Euclidean (2-norm).

Examples:

fq={!geofilt sfield=store pt=10.312,-20.556 d=3.5}
fq={!geofilt sfield=store}&pt=10.312,-20&d=3.5
fq={!geofilt}&sfield=store&pt=10.312,-20&d=3.5

Note: The geofilt for LatLonPointSpatialField is capable of also producing scores equal to the computed distance from the point to the field, making it useful as a component of the main query or a boosting query.