您现在的位置是:首页 > 文章详情

RediSearch 2.8 GA 发布,高性能全文搜索引擎

日期:2023-08-14点击:106

RediSearch 2.8 GA (v2.8.4) 现已发布,引入了对 RESP3 的支持、新功能、性能改进和错误修复。RediSearch 是 RedisLabs 团队开发的一个高性能全文搜索引擎,可作为一个 Redis Module 运行在 Redis 上。

新增内容

这个新的主要版本引入了新的和常见的 Geo Polygon Search。新增的GEOSHAPE字段类型支持使用 WKT notation 的多边形形状。除了当前已用于 geo 范围查询的 GEO(GEOPOINT 的别名)外,还增加了对 POLYGON 和 POINT 作为新的 geo 形状格式(新 GEOSHAPE)的支持。此外,2.8 版还改进了使用 FT.SEARCH 和 FT.AGGREGATE 进行 SORT BY 操作的性能,并增加了新的 FORMAT,以增强仅在 RESP3 中对 FT.SEARCH 和 FT.AGGREGATE 的响应。

Features:

  • 引入对 Geo-polygon 形状和查询的支持:

    • 添加GEOSHAPE字段类型,以便在FT.CREATESCHEMA中映射 polygons(MOD-4798)
    • 使用 WKT notation 支持 polygonsPOLYGONPOINT,例如POLYGON((lon1 lat1, lon2 lat2, ...))
    • 支持多种坐标系
    • FT.INFO响应报告中添加每个几何索引的内存使用量(MOD-5278)
  • DIALECT 4默认情况下,对FT.SEARCHFT.AGGREGATE的排序操作引入性能优化。它将改善以下 4 种不同情况下的性能:

    • Skip Sorter - 在没有任何排序时使用。一旦达到LIMIT请求的结果,查询就会返回。
    • Partial Range - 当对一个数字字段进行SORTBY,并且没有过滤器或者用相同的数字字段作为过滤器时应用,查询会在足够大的范围内迭代以满足LIMIT请求的结果。
    • Hybrid -  当存在一个数字字段需要进行SORTBY排序,并且还有其他非数字过滤器时应用。一些结果将会被过滤掉,初始范围可能不够大。然后迭代器会根据 following ranges 倒回,并进行额外的迭代以收集LIMIT请求的结果。
    • No optimization - 如果存在按分数或非数字字段排序,则除了检索所有结果并比较它们的值之外别无选择。
  • 添加WITHCOUNT参数,允许返回带排序的查询结果的精确计数。该操作会处理所有结果以获得精确计数,但性能不如 optimised 选项(DIALECT 4的默认行为)(MOD-5311)

  • 在 FT.SEARCH 和 FT.AGGREGATE 中新增 FORMAT 参数,以 JSON 字符串或 RESP3 层次结构(仅限 RESP3)的形式检索结果(MOD-5390)

改进(自 2.8.3 起):

  • #3717 - 顺时针时 Polygons shapes 验证和方向校正(MOD-5575)
  • #3534 - 矢量相似度 [ 0.7.0 ]
  • #3657 - 允许 GC 调用架构中的所有分层索引
  • #3701 - HNSW 现在使用数据块来存储矢量和元数据而不是数组

Changed Behavior

  • #3355#3635 从从属索引中删除过期键,返回空数组而不是nil(MOD-4739)

Notes:

  • Redis 内部的版本在语义版本控制中将为 2.8.4。由于 Redis 中模块的版本是数字,因此无法添加 GA 标志。
  • 最小 Redis 版本:7.2
  • 如果索引和查询 RedisJSON 数据结构,该版本最好与 RedisJSON 2.6(v2.6.0以上)结合使用

详情可查看更新说明

原文链接:https://www.oschina.net/news/253657/redisearch-2-8-ga
关注公众号

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。

持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。

文章评论

共有0条评论来说两句吧...

文章二维码

扫描即可查看该文章

点击排行

推荐阅读

最新文章