v0.23 版本的新功能
看看 MeiliSearch v0.23 中的一些最大变化

本月发布的版本为您带来了地理搜索以及对 CSV 和 NDJSON 有效负载的支持!您可以阅读完整的更新日志,但让我们看看一些主要和突破性的变化。
新功能:地理搜索
Meilisearch v0.23 支持地理搜索。这允许您根据位置过滤和排序结果。
要开始使用此功能,_geo
字段必须存在于您的索引文档中,并添加到 filterableAttributes
或 sortableAttributes
列表中,具体取决于您想要执行的操作类型。
要过滤您的结果,使其在特定区域内,您可以使用内置的 _geoRadius
过滤器规则。假设我们在马斯喀特市中心,想要查看两公里内的餐馆
curl -X POST 'http://localhost:7700/indexes/restaurants/search' --data-binary '{ "filter": "_geoRadius(23.5880, 58.3829, 2000)" }'
_geoRadius
基于中心点和半径建立圆形区域。它需要三个参数:lat
、lng
和 distance_in_meters
——分别是纬度、经度和距离(米)。
您还可以使用 _geoPoint
根据地理位置距离按升序或降序对搜索结果进行排序。 假设您想要根据文档与埃菲尔铁塔的距离来排序文档
curl -X POST 'http://localhost:7700/indexes/restaurants/search' -H 'Content-type:application/json' --data-binary '{ "sort": "_geoPoint(48.8583701,2.2922926):asc" }`
搜索响应将返回一个名为 _geoDistance
的额外字段。这是从 _geoPoint
和搜索结果的 _geo
坐标计算出的距离(米)。
新功能:支持 NDJSON 和 CSV 有效负载
Meilisearch 现在除了 JSON 之外,还接受 CSV 和 NDJSON 作为数据源。您现在需要通过 curl
等工具为 HTTP 请求指定 Content-Type 标头。
CSV 和 NDJSON 都提供更好的索引性能,消耗更少的 RAM,并且不像 JSON 那样占用大量 CPU。NDJSON 更容易验证,并且与 CSV 不同,可以处理嵌套结构。
突破性更改:Content-Type 标头现在是强制性的
由于 Meilisearch 现在支持 JSON、NDJSON 和 CSV,因此您需要通过 curl
等工具为 HTTP 请求指定内容标头。
Content-Type: application/json
用于 JSONContent-Type: application/x-ndjson
用于 NDJSONContent-Type: text/csv
用于 CSV
创建索引时 JSON 标头的示例
curl -X POST 'http://localhost:7700/indexes' -H 'Content-Type: application/json' --data-binary '{ "uid": "movies", "primaryKey": "movie_id" }'
贡献者
非常感谢我们所有的贡献者!没有你们的支持,我们不可能走到今天。本月,我们要特别感谢 @anirudhRowjee、@felixonmars、@happysalada、@kappa-wingman、@k-nasa 和 @shekhirin。
这就是全部内容!请记住查看更新日志以获取完整的发行说明,下个月再见!