Filter and sort search results based on their geographic location.
_geo
fields in the following versions (v0.27, v0.28 and v0.29), please ensure the _geo
field follows the correct format._geo
field.
_geo
is a reserved field. If you include it in your documents, Meilisearch expects its value to conform to a specific format.
When using JSON and NDJSON, _geo
must contain an object with two keys: lat
and lng
. Both fields must contain either a floating point number or a string indicating, respectively, latitude and longitude:
_geo
values will cause Meilisearch to throw an invalid_document_geo_field
error. In this case, the update will fail and no documents will be added or modified._geo
with CSV_geo
column. Each row in the dataset must then contain a column with a comma-separated string indicating latitude and longitude:
_geoRadius
and _geoBoundingBox
_geo
data to filter queries so you only receive results located within a given geographic area.
_geo
attribute to the filterableAttributes
list:
filterableAttributes
. Depending on the size of your dataset, this might take a considerable amount of time.
You can read more about configuring filterableAttributes
in our dedicated filtering guide.
filter
search parameter along with _geoRadius
or _geoBoundingBox
. These are special filter rules that ensure Meilisearch only returns results located within a specific geographic area.
_geoRadius
_geoBoundingBox
_geoRadius
:
_geoBoundingBox
:
_geoRadius
and _geoBoundingBox
with other filters. We can narrow down our previous search so it only includes pizzerias:
_geo
, _geoDistance
, and _geoPoint
are not valid filter rules. Trying to use any of them with the filter
search parameter will result in an invalid_search_filter
error._geoPoint
_geo
attribute to the sortableAttributes
list:
sortableAttributes
here.
_geoPoint
sorting function can be used like any other sorting rule. We can order documents based on how close they are to the Eiffel Tower:
_geoPoint
also works when used together with other sorting rules. We can sort restaurants based on their proximity to the Eiffel Tower and their rating: