RediSearch 2.10 发布说明

新的向量数据类型。增强的索引能力。简化的查询语法。扩展的地理空间搜索。

需求

RediSearch v2.10.10 需要:

  • 最低Redis兼容版本(数据库):7.4
  • 最低Redis企业软件版本(集群):7.6(待定)

v2.10.10 (2025年1月)

这是RediSearch 2.10的维护版本

更新紧急程度:SECURITY:此版本包含安全修复。

安全与隐私:

  • #5459 (CVE-2024-51737) 查询:潜在的越界写入 (MOD-8486)

错误修复:

  • #5392 NOSTEM 选项在查询时不起作用,仅在标记化(索引创建)时有效 (MOD-7634)
  • #5300 前缀/中缀/后缀查询长度超过1024个字符可能导致崩溃 (MOD-7882)
  • #5294 在使用replicaof时,后台索引期间的过期键可能导致跨槽错误 (MOD-7949)
  • #5282 FT.CURSOR READ 检索已删除的 TAG 字段导致崩溃 (MOD-8011)
  • #5424 FT.AGGREGATE 在数值字段上导致集群数据库中的 failed_calls 计数增加 (MOD-8058)
  • #5241 索引清理器在bytes_collected上对缺失值进行的内存计数 (MOD-8097, MOD-8114)

改进:

  • #5257 优化索引消耗的内存,仅在写操作时创建 (MOD-8125)

v2.10.7 (2024年9月)

这是RediSearch 2.10的维护版本

更新紧急程度:HIGH:存在一个可能影响部分用户的关键错误。请升级!

错误修复:

v2.10.6 (2024年8月):

这是RediSearch 2.10的维护版本。

更新紧急程度:HIGH - 存在一个可能影响部分用户的关键错误。请升级!

错误修复:

  • #4916 - 联合查询,类似于 "is|the",以2个 storwords 开头可能会导致崩溃 (MOD-7495)
  • #4895 - 在集群模式下,带有VERBATIM选项的FT.AGGREGATE未被分片处理 (MOD-7463)
  • #4922 - 在INFO响应的#search部分统计了两次字段统计信息 (MOD-7339)

v2.10 GA (v2.10.5) (2024年7月)

这是RediSearch 2.10的正式发布版本

标题:

最新的RediSearch引入了内存高效的向量数据类型,增强了对空字段和缺失字段的索引能力,简化了查询语法,并扩展了地理空间搜索功能。

2.10.5 版本的新内容

这个新的大版本引入了新的BFLOAT16FLOAT16向量数据类型,减少了向量消耗的内存,同时保持了准确性。此更新还包括对索引空值和缺失值的高度需求支持,并增强了具有精确匹配功能的查询的开发者体验。开发者现在可以匹配TAG字段,而无需转义特殊字符,使得入门过程和使用查询语法更加容易。最后,地理空间搜索功能通过新的INTERSECTDISJOINT操作符得到了扩展,并通过提供更好的索引内存消耗报告和在聚合管道中暴露全文评分来改善人体工程学。

功能:

  • 通过使用TAG增强精确匹配查询,避免使用更简单的语法 '@tag:{"my-query%term"}'NUMERIC查询来转义特殊含义字符:

    • #4802 - 在DIALECT 2中使用双引号包裹精确匹配查询项,例如@email:{"test@redis.com"} (MOD-7299)
    • #4676, #4433 - 增强查询解析器以避免不必要的转义 (MOD-5756)
    • #4527 - 使用单值FT.SEARCH idx @numeric:[3456]增强NUMERIC的精确匹配查询 (MOD-6623)
    • #4802 - 在NUMERIC查询中支持单操作符,如等于==、不等于!=、大于>>=以及小于<<=,例如FT.SEARCH idx '@numeric==3456' (MOD-6749)
  • 在定义索引时,使用FT.CREATESCHEMA中的每个字段添加新关键字,以支持使用INDEXEMPTY索引空值和使用INDEXMISSING索引缺失值

    • #4663, #4721 - 为TAGTEXT字段索引空字符串值"" (MOD-6540, MOD-7200)
    • #4721 - 更新查询解析器以支持TEXT字段的空值查询,如FT.SEARCH idx '@text_field:""'FT.SEARCH idx '""',以及TAG字段的空值查询,如FT.SEARCH idx '@tag_field:{""}' (MOD-7200)
    • #4720, #4635 - 为所有字段类型索引缺失值,引入查询语法函数ismissing(@field),支持查询缺失字段,如FT.SEARCH idx 'ismissing(@text)' (MOD-6532)
  • 启用新的向量数据类型,通过新的BFLOAT16FLOAT16减少向量消耗的内存

  • 在聚合管道中使用ADDSCORE暴露全文评分值。调用评分时,可以在管道中使用@__score,如FT.AGGREGATE idx 'hello' ADDSCORES SORTBY 2 @__score DESC

    • #4859 - 将评分暴露给FT.AGGREGATE管道 (MOD-7190)
  • #4227 - 在查询多边形GEOSHAPE时,添加对新操作符INTERSECTDISJOINT的支持 (MOD-6178)

错误修复(自2.10.4版本以来):

  • #4854 - 避免从数值扩展词干(MOD-7025)

改进(自2.10.4版本以来):

  • #4865 - 添加在索引缺失字段时清理垃圾条目的覆盖范围 (MOD-7415)
Note:
  • Redis 内部的版本将遵循语义版本控制为 2.10.5。由于 Redis 中模块的版本是数字形式的,我们无法添加发布候选标志。
  • 最低Redis版本:7.4
  • 如果对RedisJSON数据结构进行索引和查询,此版本最好与RedisJSON 2.8(v2.8.2及以后版本)结合使用
  • 如果哈希键的一个或多个字段在查询开始后过期(使用 FT.SEARCH 或 FT.AGGREGATE),Redis 不会考虑这些惰性过期的字段。因此,包含过期字段的键可能仍然会出现在查询结果中,导致可能不正确或不一致的结果。
RATE THIS PAGE
Back to top ↑