学习目标:
docker安装rediSearch
redis-stack自动包含rediSearch和redisJSON两个模块
学习内容:
- docker命令
docker run -d --name redis-stack-server -p 6379:6379 redis/redis-stack-server:latest
-
创建索引
先通过docker exec命令进入到容器中操作redis
docker exec -it [容器id] sh
redis-cli
使用FT.CREATE 命令创建具有字段和权重的索引(默认为1.0)
ft.create myidx on hash prefix 1 doc: schema title text weight 5.0 body text url text
此时,任何带有前缀的键(doc:)的所有哈希文档都会:自动添加到索引中。
- 添加文件
这里分别添加两个hset
HSET doc:1 title “hello world” body “lorem ipsum” url “http://redis.io”
HSET doc:2 title “hello world baidu” body “lorem ipsum” url “http://www.baidu.com”
- 搜索索引
通过FT.SEACH [索引] “搜索内容” limit [开始] [结束]匹配内容
FT.SEARCH myidx "hello world" LIMIT 0 10
FT.SEARCH myidx "hello world baidu" LIMIT 0 10
- 删除索引
删除索引不删除关联的hset :FT.DROPINDEX [索引名称]
删除索引和关联的hset:FT.DROPINDEX [索引名称] DD
# 删除索引和对应索引下数据
FT.DROPINDEX myidx dd
- auto-complete(自动完成)
通过命令:FT.SUGADD [key] [value] [权重]
FT.SUGADD autocomplete "hello world" 100
FT.SUGGET autocomplete "he"
学习产出:
- 学习docker安装redisStack
- 学习基本的索引操作