Redis哈希通配符查询:能否用FT.SEARCH实现postId前缀匹配?
Redis Search 通配符查询问题解答
核心结论
可以执行FT.SEARCH idx "@postId:3*"来查找所有postId以'3'开头的文档。
关键说明
- Redisearch支持前缀通配符(
*放在末尾),你的索引中postId被定义为TEXT SORTABLE类型,完全满足前缀匹配的使用条件。 - 注意你创建哈希时的一个细节:
HSET post:334 postId 334 title "Sumit Title 334"之后又执行了HSET post:334 postId 22 title "Sumit Title 22",Redis的HSET会覆盖同一哈希键下的字段值,所以post:334的postId实际是22,不会被上述通配符查询命中。 - 实际执行该查询后,只会返回
post:33这个文档,因为它的postId是33,符合3*的前缀匹配规则。
内容的提问来源于stack exchange,提问作者Sumit Chakraborty
相关产品推荐
相关产品推荐

