Redis游标在FT上总是产生0,CURSOR READ

mjqavswn  于 2023-03-22  发布在  Redis
关注(0)|答案(1)|浏览(139)

我一直在尝试使游标与聚合一起工作,但发生了一些奇怪的事情。
我有一个redis数据库,索引名为idx:cits,其中一个名为timestamp的字段被索引为NUMERIC。

FT.SEARCH idx:cits "@timestamp:[-inf inf]" LIMIT 0 0

它按预期工作并返回值12307(将查询设为预期的"*"也是如此)
创建游标时出现问题

FT.AGGREGATE idx:cits "@timestamp:[-inf inf]" WITHCURSOR COUNT 500

它返回500个元素和游标ID,但是当我执行

FT.CURSOR READ idx:cits <cursorid>

总是返回一个0作为数组,一个0作为新的cursorID,表示它已经完成了所有元素的阅读,但仍然有11.807个匹配该查询的元素没有被读取。为什么会发生这种情况?无论我使用什么COUNT,对游标的后续调用都会产生相同的结果。
将聚合作为

FT.AGGREGATE idx:cits "*" WITHCURSOR COUNT 500

但是产生如预期那样工作的正确光标。
我正在使用docker镜像redis/redis-stack:7.0.6-RC 2,并将选项MAXSEARCHRESULTS设置为-1

相关问题