gpt4 book ai didi

autocomplete - 如何使用 Redis ZRANGEBYLEX 模拟自动完成搜索?

转载 作者:IT王子 更新时间:2023-10-29 05:55:20 25 4
gpt4 key购买 nike

我正在尝试制作一个简单的自动完成系统,就像这里的演示一样:http://autocomplete.redis.io/但出于某种原因,我无法让 ZRANGEBYLEX 返回正确的结果。这是我在 Redis CLI 上所做的:

> zadd autocomplete 0 one 0 two 0 three 0 four 0 five 0 six 0 seven 0 eight 0 nine 0 ten 0 eleven 0 twelve 0 thirteen 0 fourteen 0 fifteen

我的设置看起来不错:

> zrangebylex autocomplete - +
1) "eight"
2) "eleven"
3) "fifteen"
4) "five"
5) "four"
6) "fourteen"
7) "nine"
8) "one"
9) "seven"
10) "six"
11) "ten"
12) "thirteen"
13) "three"
14) "twelve"
15) "two"

如果我像这样使用 ZRANGEBYLEX,结果就有意义了:

zrangebylex autocomplete [e [eight
1) "eight"

但如果我想获取集合中所有以“e”开头的项,我会尝试这个(这与自动完成演示显示的非常相似)但它不会返回正确的结果:

> zrangebylex autocomplete [e [e(0xff)
(empty list or set)

必须将什么用作 ZRANGEBYLEX 命令的参数才能匹配以“e”开头的任何字符串以及之后的任何其他字符串?

最佳答案

这样就可以了:

127.0.0.1:6379> zrangebylex autocomplete [e "[e\xff"
1) "eight"
2) "eleven"

编辑:正如 Itamar Haber 在下面的评论中指出的那样,使用代码客户端时,您不需要引号。

关于autocomplete - 如何使用 Redis ZRANGEBYLEX 模拟自动完成搜索?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24418807/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com