RediSearch编译安装(一)

1.概述

Redisearch 在 Redis 之上实现了二级索引,但与其他 Redis 索引库不同,它不使用排序集等内部数据结构。
这还支持更高级的功能,例如多字段查询、聚合和全文搜索功能。这些功能包括精确的短语匹配和文本查询的数字过滤,这是传统 Redis 索引方法不可能或有效的。

2.安装

2.1使用 Docker 运行

docker run -p 6379:6379 redislabs/redisearch:latest #此处可以自己配置启动映射目录,这个方式非常简单这里不过多描述了

2.2下载二进制文件编译运行

Redisearch 是用c语言进行编写的,所以我门需要编译它生成依赖模块redisearch.so文件。首先我们应该获取源码,使用以下git命令进行获取

git clone --recursive https://github.com/RediSearch/RediSearch.git
cd RediSearch #进入目录

在这里插入图片描述安装cmake工具进行编译,命令如下:

sudo make setup #linux
make setup #mac

构建RediSearch并运行,命令如下:

make build #构建编译,是根据原文件下面的MakeFile进行构建的
make run #使用 RediSearch 运行 Redis

编译完成,源码里面内迁了redis其他应用,故可以直接使用。如下图所示:
在这里插入图片描述这里可以使用redis-cli工具进行连接RediSearch使用。
创建具有字段和权重的索引:

127.0.0.1:6379> FT.CREATE myIdx ON HASH PREFIX 1 doc: SCHEMA title TEXT WEIGHT 5.0 body TEXT url TEXT
OK 

将文档添加到索引:

127.0.0.1:6379> hset doc:1 title "hello world" body "lorem ipsum" url "http://redis.io" 
(integer) 3

搜索索引 :

127.0.0.1:6379> FT.SEARCH myIdx "hello world" LIMIT 0 10
1) (integer) 1
2) "doc:1"
3) 1) "title"
   2) "hello world"
   3) "body"
   4) "lorem ipsum"
   5) "url"
   6) "http://redis.io"

删除索引:

127.0.0.1:6379> FT.DROPINDEX myIdx 
OK

添加和获取自动完成索引创建:

127.0.0.1:6379> FT.SUGADD autocomplete "hello world" 100
OK

127.0.0.1:6379> FT.SUGGET autocomplete "he"
1) "hello world"

测试结果如下:
在这里插入图片描述

2.3 引入so文件进行启动

我们编译完成以后在RediSearch目录下会生成一个bin文件目录。我们可以在此目录下去找rediseach.so文件。

cd bin #进入编译后的目录
cd linux-x64-release #进入编译发布版目录
cd search #search目录你就可以看到redisearch.so文件了

操作如下图所示:
在这里插入图片描述将redisearch.so文件迁移之redis模块目录下进行启动,没有目录可以自建,笔者此电脑Redis-server是在/usr/local/redis/bin目录存储,故笔者的演示是在此目录进行建module目录,命令分别是

mkdir modeule #前提是进入/usr/local/redis/bin目录,每个人计算机redis按照目录不一样,所以按照自己的实际情况进行配置
mv redisearch.so  ./module/
mv librejson.so  ./module/#我编译后的redisjons文件
redis-server --loadmodule /module/redisearch.so ##启动redis加载对应rediserache.so文件

操作如下图所示:
在这里插入图片描述
至此我的RediSeache安装编译教程完毕,恭喜你成功。后面我出不同编成语言的实例,谢谢大家查看

### 关于 Redisearch安装 RedisearchRediSearch 模块的个实现,它为 Redis 提供了全文搜索功能。以下是有关其安装的具体说明: #### 安装依赖项 在安装 RediSearch 之前,需确认已安装必要的开发工具和库文件。对于大多数 Linux 发行版,可以使用包管理器来完成这些操作[^1]。 ```bash sudo apt update && sudo apt install build-essential tcl git ``` #### 下载并编译源码 RediSearch 支持通过源码构建的方式进行安装。可以通过克隆官方仓库获取最新版本的代码,并按照以下命令执行编译过程[^2]。 ```bash git clone https://github.com/redislabsmodules/redisearch.git cd redisearch/src/ make ``` 如果切正常,则会在当前目录下生成 `rejson.so` 文件(实际应为 `redisearch.so`),这是加载到 Redis 中所需的共享对象模块文件[^3]。 #### 配置 Redis 加载模块 要让 Redis 使用 RediSearch 功能,需要修改 Redis 配置文件或者直接在启动时指定加载该模块。假设刚才生成的目标文件路径为 `/path/to/redisearch.so` ,那么可以在配置文件中加入如下行内容[^4]: ```conf loadmodule /path/to/redisearch.so ``` 另种方式是在运行 Redis-server 命令的时候加上参数: ```bash ./redis-server --loadmodule /path/to/redisearch.so ``` 这样就可以成功启用 RediSearch 功能支持了。 #### 测试安装是否成功 为了验证 RediSearch 是否被正确加载,可尝试连接至 Redis 实例并向其中创建索引以及查询数据记录等基本测试动作[^5]。 ```python import redis r = redis.StrictRedis(host='localhost', port=6379, decode_responses=True) # 创建个简单的FT.INDEX index_definition = """ FT.CREATE idx:example SCHEMA title TEXT WEIGHT 5.0 body TEXT """ print(r.execute_command(index_definition)) ``` 以上脚本会向 Redis 数据库发送指令以建立名为 `idx:example` 的新索引结构。 ---
评论 25
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Hello.Reader

请我喝杯咖啡吧😊

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值