RediSearch 2.10 发行说明
新的向量数据类型。增强的索引功能。简化的查询语法。扩展了地理空间搜索。
Redis 堆栈 |
---|
要求
RediSearch v2.10.15 需要:
- 最低 Redis 兼容版本(数据库):7.4
- 最低 Redis 企业软件版本(集群):7.6 (TBD)
v2.10.15(2025 年 3 月)
这是 RediSearch 2.10 的维护版本。
更新紧急度:HIGH
:存在可能影响用户子集的严重错误。升级!
错误修复:
- 排名 #5788Cursor 替换为
SORTBY
永远不会耗尽,如果达到游标限制,则会阻止查询 (MOD-8483) - 排名 #5788由于
TIMEOUT
便ON_TIMEOUT
设置为RETURN
(MOD-8482) - 排名 #5788RESP3 打开的光标
FT.AGGREGATE
永远不会耗尽,如果游标达到限制,则会阻止查询 (MOD-8515) - 排名 #5788用
FT.CURSOR READ
在超时导致结果少于预期结果的查询上 (MOD-8606) - #5810这
total_results
字段的FT.AGGREGATE
命令在 RESP3 中不正确 (MOD-9054)
改进:
- 排名 #5788更正了防止过早释放的协调器争用条件,避免了查询执行过程中的错误和不一致 (MOD-8794)
v2.10.14(2025 年 3 月)
这是 RediSearch 2.10 的维护版本。
更新紧急度:LOW
除非有您想要使用的新功能,否则无需升级。
错误修复:
- 排名 #5704如果使用
SCORER BM25
(MOD-7896 的)。
v2.10.13(2025 年 2 月)
这是 RediSearch 2.10 的维护版本。
更新紧急度:LOW
除非有您想要使用的新功能,否则无需升级。
错误修复:
- #5646
FT.SEARCH
使用西里尔字符和通配符不产生任何结果 (MOD-7944)
v2.10.12(2025 年 2 月)
这是 RediSearch 2.10 的维护版本。
更新紧急度:HIGH
:存在可能影响用户子集的严重错误。升级!
错误修复:
- 排名 #5596更改内存块读取逻辑可能会导致
FT.SEARCH
出现错误“Redis 7.4.2 因 signal: 11, si_code: 128 崩溃”
已知限制:
-
在摄取过程中,只有字符串字段的前 128 个字符被规范化为小写(例如,在
HSET
). 例:HSET doc __score 1.0 name "idx1S...S" mynum 1 # Assume "S...S" is a string of 252 capital S's FT.CREATE "idx" SCHEMA "name" "TEXT" "mynum" "NUMERIC" FT.SEARCH "idx" "@name:idx1S...S" # Assume "S...S" is a string of 252 capital S's
这
FT.SEARCH
命令将不返回任何文档。
v2.10.11(2025 年 1 月)
这是 RediSearch 2.10 的维护版本。
更新紧急度:HIGH
:存在可能影响用户子集的严重错误。升级!
错误修复:
- 排名 #5536如果未读取最后一个块,则查询添加到索引的最新文档可能会导致崩溃 (MOD-8561)。
v2.10.10(2025 年 1 月)
这是 RediSearch 2.10 的维护版本
更新紧急度:SECURITY
:此版本中有安全修复程序。
安全和隐私:
- #5459 (CVE-2024-51737) 查询:可能越界写入 (MOD-8486)
错误修复:
- #5392
NOSTEM
option 不适用于查询,仅适用于分词集(索引创建) (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)
2.10.7 版(2024 年 9 月)
这是 RediSearch 2.10 的维护版本
更新紧急度:HIGH
:存在可能影响用户子集的严重错误。升级!
错误修复:
- https://github.com/RediSearch/RediSearch/pull/4941调整模块配置以避免集群数据库中第一个分片上的路由过载 (MOD-7505)
- https://github.com/RediSearch/RediSearch/pull/4950
FT.PROFILE
上AGGREGATE
由于在大量数值中重复使用内部 CURSOR,数值查询可能会导致崩溃 (MOD-7454)
v2.10.6(2024 年 8 月):
这是 RediSearch 2.10 的维护版本。
更新紧急度:HIGH
- 存在可能影响部分用户的严重错误。升级!
错误修复:
- #4916 - 联合查询,类似于
"is|the"
,以 2 个 storwords 开头可能会导致崩溃 (MOD-7495) - #4895 -
FT.AGGREGATE
跟VERBATIM
选项不由集群模式下的分片处理 (MOD-7463) - #4922 - 在
#search
部分INFO
响应 (MOD-7339)
v2.10 GA (v2.10.5)(2024 年 7 月)
这是 RediSearch 2.10 的正式发布版本
标题:
最新的 RediSearch 引入了节省内存的矢量数据类型、增强的索引功能(支持空字段和缺失字段)、简化的查询语法以及扩展的地理空间搜索功能。
2.10.5 中的新增功能
这个新的主要版本引入了新的BFLOAT16
和FLOAT16
vector 数据类型,减少 vector 消耗的内存,同时保持准确性。此更新还包括对空值和缺失值编制索引的强烈支持,并增强了具有精确匹配功能的查询的开发人员体验。开发人员现在可以匹配TAG
字段,而无需转义特殊字符,从而使载入过程和查询语法的使用更加容易。最后,地理空间搜索功能已扩展为新的INTERSECT
和DISJOINT
运算符,并且通过提供更好的索引消耗内存报告并在聚合管道中公开全文评分,改进了人体工程学。
特征:
-
增强精确匹配查询
TAG
避免使用更简单的语法转义特殊含义字符'@tag:{"my-query%term"}'
和NUMERIC
查询: -
添加新关键字以支持使用
INDEXEMPTY
和缺失值使用INDEXMISSING
per 字段中的SCHEMA
虽然使用FT.CREATE
-
启用新的向量数据类型,减少向量消耗的内存。
BFLOAT16
和FLOAT16
-
在聚合管道期间使用
ADDSCORE
.在调用分数时,您可以使用@__score
in the pipeline 中,如FT.AGGREGATE idx 'hello' ADDSCORES SORTBY 2 @__score DESC
- #4859 - 将分数公开给
FT.AGGREGATE
管道 (MOD-7190)
- #4859 - 将分数公开给
-
#4227 - 添加对新运算符的支持
INTERSECT
和DISJOINT
查询GEOSHAPE
多边形 (MOD-6178)
错误修复(自 2.10.4 起):
- #4854 - 避免从数值派生时进行扩展 (MOD-7025)
改进(自 2.10.4 起):
- #4865 - 在索引缺失字段时为清理垃圾条目添加覆盖率 (MOD-7415)
- Redis 中的版本在语义版本控制中为 2.10.5。由于 Redis 中模块的版本是数字,因此我们无法添加 Release Candidate 标志。
- 最小 Redis 版本:7.4
- 如果索引和查询 RedisJSON 数据结构,此版本最好与 RedisJSON 2.8(v2.8.2 及更高版本)结合使用
- 如果哈希键的一个或多个字段在查询开始后过期(使用 FT.SEARCH 或 FT.AGGREGATE),Redis 不考虑这些延迟过期的字段。因此,字段过期的 key 可能仍包含在查询结果中,从而导致结果可能不正确或不一致。