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

如何通过Redis-cli使用RediSearch精准查找指定数值(年龄14)

解决Redis JSON + RediSearch精准查找年龄为14的问题

第一步:确保正确创建索引

你需要先创建适配JSON数据的RedSearch索引,指定age为数值类型(numeric),否则无法正确匹配数值:

ft.create idx on json prefix 1 "a:" schema $.age as age numeric $.name as name text
  • on json:声明索引针对JSON类型的键
  • prefix 1 "a:":只索引键名以a:开头的条目
  • $.age as age numeric:将JSON路径$.age的内容提取为名为age的数值型索引字段

为什么原命令失败?

  • 若未创建上述索引,ft.search会因索引不存在报错;
  • 若索引中age被设为text类型,@age:(14)是字符串短语匹配语法,但数值14作为字符串索引时可能不符合预期;
  • 若索引未关联正确的JSON路径$.age,无法提取年龄数据进行检索。

精准查找的正确命令

索引创建完成后,用以下任一命令即可精准匹配年龄为14的数据:

方式1:直接数值匹配

ft.search idx "@age:14"

方式2:范围限定匹配(适用于需要明确数值范围的场景)

ft.search idx "@age:[14 14]"

执行后会返回键a:3对应的JSON数据:{"name":"wala", "age":14}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.17 05:25:21