启用向量搜索的AWS MemoryDB 7预览版FT.SEARCH查询报错求助
解决MemoryDB 7预览版FT.SEARCH字段查询报错问题
问题分析
你遇到的ERR Parse error at 0 Unexpected '@' Expected whitespaces错误,大概率是语法适配或版本兼容性导致的——虽然标准RedisSearch支持@字段名:值的查询语法,但MemoryDB预览版的集成版本可能存在差异,再加上客户端(7.2.3)和服务端(7.1)版本不匹配,进一步放大了这个问题。
解决方案
1. 移除查询语句中的@符号
尝试直接使用字段名加查询条件的语法,跳过@前缀:
FT.SEARCH idx "title:hello"
2. 验证索引结构正确性
先确认索引是否按预期创建,执行以下命令查看索引详情:
FT.INFO idx
重点检查输出里的schema部分,确认title字段的类型是TEXT,且关联的JSON路径$.title正确无误。
3. 对齐客户端与服务端版本
你的redis-cli版本(7.2.3)高于MemoryDB的引擎版本(7.1),版本不匹配可能导致语法解析不一致。建议使用与服务端同版本(7.1)的redis-cli重新执行查询。
4. 尝试直接使用JSON路径查询
如果上述方法无效,试试直接用JSON路径作为查询条件:
FT.SEARCH idx "$.title:hello"
完整验证流程
如果问题仍存在,重新走一遍索引创建和查询流程,确保没有操作疏漏:
# 先删除旧索引(若存在) FT.DROPINDEX idx # 重新创建JSON索引 FT.CREATE idx ON JSON SCHEMA $.title AS title TEXT # 插入测试文档 JSON.SET doc $ '{"title":"hello"}' # 执行查询 FT.SEARCH idx "title:hello"
内容的提问来源于stack exchange,提问作者lmaooooo
相关产品推荐
相关产品推荐

