Redis创建索引时遇FT.CREATE未知命令及Path属性错误求助
Redis Python客户端JSON索引测试问题解决方案
第一个错误:redis.exceptions.ResponseError: unknown command FT.CREATE
问题原因
你的Redis服务器未安装RedisSearch扩展模块,官方文档中的JSON索引功能依赖RedisSearch(属于Redis Stack组件),默认Redis实例不包含该模块。
解决办法
- 直接安装Redis Stack:它包含RedisSearch、RedisJSON等所有所需扩展,可获取对应系统的官方安装包部署。
- 给现有Redis实例添加RedisSearch模块:根据Redis版本下载对应模块文件,启动时通过
--loadmodule参数加载,或运行时用MODULE LOAD命令加载。 - 验证:进入Redis-cli执行
MODULE LIST,查看输出是否包含search模块。
第二个错误:AttributeError: type object 'Path' has no attribute 'root_path'
问题原因
通常是redis-py版本不兼容,或者Path类的导入/使用方式错误。
解决办法
- 升级
redis-py到最新稳定版:pip install --upgrade redis - 确认
Path的正确导入路径:from redis.commands.json.path import Path - 检查代码中
Path的使用方式:文档中需用Path("$.name")这类方式指定路径,而非调用Path.root_path,确认代码无错误引用类属性的写法。
内容的提问来源于stack exchange,提问作者oofmeister27
相关产品推荐
相关产品推荐

