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

如何将SQL的IN查询转换为Redis FT.Search/FT.Aggregate查询?

RedisSearch 实现 SQL IN 查询(基于 FILTER 参数)

要实现对应 SQL id IN(1,2,4,6) 的查询逻辑,你之前尝试的 @id:(1|2|4|6) 语法无效,是因为该语法适用于TEXT类型字段的多值OR匹配,而你的id是NUMERIC类型字段,需要用FILTER参数来实现:

FT.SEARCH log * FILTER "@id in [1,2,4,6]"

关键说明:

  • * 作为匹配模式,表示先获取所有索引内的文档,再通过FILTER进行筛选
  • FILTER "@id in [1,2,4,6]" 是RedisSearch针对NUMERIC类型字段实现IN逻辑的标准写法,通过in关键字配合方括号包裹的数值列表,精准筛选出id属于指定集合的文档
  • 由于你的id字段已定义为NUMERIC SORTABLE,完全支持该FILTER操作

额外提示:

  • 确保你的RedisSearch版本在2.0及以上,该版本开始支持in语法
  • FILTER还支持其他数值运算,比如@id = 5、@id > 10 AND @id < 20等组合条件

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.25 15:32:00