Redis标签搜索3个词失效问题及解决方案咨询
RedisSearch多词标签搜索失效的解决办法
问题出在RedisSearch的查询语法上:当你要匹配包含空格的完整短语时,直接用{Games and Drills}会被解析为三个独立的词(Games、and、Drills)进行AND查询,而不是匹配完整的"Games and Drills"短语,所以查不到数据。
可行的解决办法如下:
用双引号包裹完整短语:
将查询中的@contentAlias:{Games and Drills}改为@contentAlias:"Games and Drills",完整命令示例:# shell环境执行需转义双引号 FT.SEARCH idx:content:details "@deleted:0 @contentAlias:\"Games and Drills\"" # 或用单引号包裹整个命令避免转义 FT.SEARCH idx:content:details '@deleted:0 @contentAlias:"Games and Drills"'这样RedisSearch会将双引号内的内容视为完整短语进行精确匹配。
检查索引字段配置:
确保contentAlias字段在创建索引时被定义为TEXT类型,且未设置强制拆分空格的特殊分词规则。如果是TAG类型,多词短语同样需要用引号包裹,还需确认TAG的分隔符是否符合需求。
内容的提问来源于stack exchange,提问作者Ezr0
相关产品推荐
相关产品推荐

