用途:为 Redis Search 提供统一检索指导,覆盖词法、数值、地理、JSON 路径与向量查询。向量字段与 TEXT/TAG/NUMERIC 同属 FT.CREATE 机制,FT.HYBRID 可在一条命令中融合词法与向量排序。
适用时机:创建/修改/审查索引(FT.CREATE、FT.ALTER);编写或优化 FT.SEARCH、FT.AGGREGATE、FT.HYBRID;选择字段类型;定义 VECTOR 字段并选择 HNSW 或 FLAT、调优参数;构建 RAG 管道;无停机上线新索引模式;用 FT.EXPLAIN、FT.PROFILE、FT.INFO 排查空结果、慢查询与分词问题。
命令选择:FT.SEARCH 用于文档检索与排序(默认首选);FT.AGGREGATE 用于分面、计算字段与自定义输出;FT.HYBRID(Redis ≥ 8.4)以 SEARCH + VSIM 加 COMBINE 融合 BM25 与向量相似度。Redis < 8.4 可用 FT.SEARCH 预过滤加 =>[KNN ...] 近似。
模式基础:FT.CREATE 索引 Hash 或 JSON 文档,需设置 PREFIX 并使用 DIALECT 2。字段类型按访问模式取最窄者:TEXT 全文分词,TAG 精确匹配/过滤,NUMERIC 范围与排序,GEO/GEOSHAPE 地理查询,VECTOR 相似度检索,JSON $.path AS alias 索引嵌套字段。常见错误是用 TEXT 存分类或状态,TAG 精确过滤约快 10 倍。
查询要点:空格为 AND,| 为 OR,- 为 NOT,~ 为可选,=>{$weight: N} 为加权;TAG 值中的连字符等特殊字符需转义。结果塑造可用 SORTBY、RETURN、HIGHLIGHT、SUMMARIZE、NOCONTENT。
向量配置:DIM、DISTANCE_METRIC、TYPE 必须与嵌入模型一致,不匹配会产生静默错误。文本嵌入常用 COSINE,未归一化用 IP,欧氏用 L2,类型通常 FLOAT32。HNSW 快且近似(召回约 95% 以上,可调),适合 >1 万向量、延迟敏感场景;FLAT 精确但慢,适合小语料。HNSW 可调 M、EF_CONSTRUCTION、EF_RUNTIME。
聚合与运维:FT.AGGREGATE 支持 LOAD、APPLY、FILTER、GROUPBY + REDUCE、SORTBY、LIMIT,长结果集用 WITHCURSOR + FT.CURSOR READ 分页。无停机改模式可将查询指向别名并用 FT.ALIASUPDATE 切换。客户端示例含 redis-py、Jedis、RedisVL,其余客户端可按 CLI 形式转换。具体价格与平台细节暂未提供。