根据地理位置筛选和排序搜索结果。
_geo
字段,请确保 _geo
字段遵循正确的格式。_geo
字段。 _geo
是一个保留字段。如果您将其包含在文档中,Meilisearch 希望其值符合特定格式。 使用 JSON 和 NDJSON 时,_geo
必须包含一个具有两个键的对象:lat
和 lng
。这两个字段都必须包含浮点数或表示纬度和经度的字符串:_geo
值的文档的数据集将导致 Meilisearch 抛出 invalid_document_geo_field
错误。在这种情况下,更新将失败,并且不会添加或修改任何文档。_geo
与 CSV 结合使用_geo
列。数据集中的每一行都必须包含一列,其中包含逗号分隔的字符串,指示纬度和经度
_geoRadius
和 _geoBoundingBox
过滤结果_geo
数据来过滤查询,以便只接收位于给定地理区域内的结果。
_geo
属性添加到 filterableAttributes
列表中
filterableAttributes
时,Meilisearch 都会重建您的索引。根据数据集的大小,这可能需要相当长的时间。 您可以在我们的专用过滤指南中阅读有关配置 filterableAttributes
的更多信息。filter
搜索参数 与 _geoRadius
或 _geoBoundingBox
一起使用。这些是特殊的过滤规则,可确保 Meilisearch 只返回位于特定地理区域内的结果。
_geoRadius
_geoBoundingBox
_geoRadius
搜索米兰市中心附近的餐饮场所
_geoBoundingBox
进行类似的查询
_geoRadius
和 _geoBoundingBox
与其他过滤器结合使用。我们可以缩小之前的搜索范围,使其只包含披萨店
_geo
、_geoDistance
和 _geoPoint
不是有效的过滤规则。尝试将它们中的任何一个与 filter
搜索参数一起使用将导致 invalid_search_filter
错误。_geoPoint
排序结果_geo
属性添加到 sortableAttributes
列表
sortableAttributes
的更多信息。
_geoPoint
排序函数可以像任何其他排序规则一样使用。我们可以根据文档与埃菲尔铁塔的距离来排序文档
_geoPoint
也适用于与其他排序规则一起使用。我们可以根据餐厅与埃菲尔铁塔的距离和评分对餐厅进行排序