You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Redis聚合游标异常:FT.CURSOR READ始终返回0的问题排查

Redis聚合游标异常问题分析与解决

问题原因

这是你使用的redis/redis-stack:7.0.6-RC2候选版本的已知兼容性bug——数值范围查询(@timestamp:[-inf inf])与聚合游标(WITHCURSOR)的组合逻辑存在缺陷,导致游标无法正确遍历所有匹配文档,仅返回第一次的COUNT数量后就终止。

虽然FT.SEARCH能正常识别该范围查询并返回全量结果,但FT.AGGREGATE的游标处理模块在RC版本中对这类查询的解析存在问题,而通配符查询*则能触发正确的游标遍历逻辑。

解决方案

1. 优先升级到正式稳定版

RC版本(候选发布版)本身用于测试,稳定性不足。直接升级到Redis Stack的正式版(如7.0.6正式版或更高版本),该bug已在后续正式版本中修复。

2. 临时替代方案(无需升级)

如果暂时无法升级,可将聚合查询的条件替换为通配符*,并通过FILTER子句实现相同的timestamp范围筛选:

FT.AGGREGATE idx:cits "*" WITHCURSOR COUNT 500 FILTER "@timestamp >= -inf AND @timestamp <= inf"

执行该命令后,再用FT.CURSOR READ idx:cits <cursorid>读取后续数据,即可正常获取剩余的11807条匹配结果。

补充说明

你设置的MAXSEARCHRESULTS=-1是正确的,该参数用于限制普通查询的返回上限,不影响聚合游标的遍历逻辑,因此不是问题根源。

内容的提问来源于stack exchange,提问作者Javari

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.10 16:46:17