如何调试RediSearch JSON文档未被索引的问题?
RediSearch JSON文档索引类型不匹配的高效排查方法
开启RediSearch调试日志
启动Redis时加载RediSearch模块并设置日志级别为debug:redis-server --loadmodule ./redisearch.so LOG_LEVEL debug。日志里会直接输出索引失败的具体原因,比如某字段的类型和索引定义不匹配,不用再瞎猜或者手动比对。用
FT.EXPLAINCLI模拟索引过程
这个命令能帮你验证单条文档和索引定义的匹配情况,比如执行FT.EXPLAINCLI my_index '{"age": 25, "name": "Alice"}',会返回每个字段的处理细节,包括是否符合索引的类型要求、有没有被正确索引,直接定位不匹配的字段。手动用
FT.ADD测试单条文档
如果批量索引出问题,挑一条有问题的文档用FT.ADD手动添加,比如FT.ADD my_index test_doc 1.0 PAYLOAD '{"age": "25", "name": "Bob"}'。要是类型不匹配,Redis会直接返回明确的错误提示,比如指出age字段是字符串但索引定义为数字类型,一眼就能找到问题。验证JSON路径的正确性
有时候不是类型错了,是索引里的JSONPATH写错了。先用JSON.GET doc_id $.your_field确认能正确取出字段值,再对比索引定义里的路径,确保两者一致,避免因为路径问题导致字段没被索引。
内容的提问来源于stack exchange,提问作者Jonas Stensved
相关产品推荐
相关产品推荐

