背景由于公司项目需要用到全文搜索这个功能,而且要求轻量级,不能用复杂的ES,于是在网上搜索资料 。一次偶然机会,发现了一个名字特别显眼的搜索引擎——MeiliSearch!
MeiLi(美丽),这么直白用拼音命名项目,这越发激起了小编的好奇心,好了,带着满脑的疑问,我们来研究一下这个美丽的搜索引擎吧!
![轻量美丽的搜索引擎——MeiliSearch](http://img.jiangsulong.com/221103/1A3031127-0.png)
文章插图
【轻量美丽的搜索引擎——MeiliSearch】
概要MeiliSearch,顾名思义,美丽的搜索引擎,不仅美丽,其上手速度和小规模数据量下的体验也比 ElasticSearch 更加出色 。
在大型同性交友平台 github 上面查了一下这个项目,发现是近2年火起来的,已经有将近30K+Star了,非常优秀!据说是Meili是在挪威神话中的神,指 “可爱的人”,是托尔的兄弟,果然中华文明博大精深,都流传到国外了 。
MeiliSearch 是一个强大、快速、开源、易于使用和部署的搜索引擎 。搜索和索引都是高度可定制的,提供开箱即用的功能,如错字容忍、过滤器和同义词 。
最最最重要的是,它是支持中文搜索的,对于国人真的是太友好了 。它编写的语言是 RUST,虽然小编没学过 RUST,但知道 RUST 性能非常好,可以媲美C++,那应用在搜索引擎这块,也是可以起飞了 。
估计大家都等着急了,接下来就来体验一下这个轻量美丽的搜索引擎 。
安装方式MeiliSearch 的安装方式有很多,支持 Docker 容器安装、二进制方式安装,也支持 RUST 环境下克隆项目源码运行 。
这里我们使用二进制方式安装,为了快速体验,直接使用简单粗暴的 docker 方案安装 。
docker run -itd -p 7700:7700 -v /home/meilisearch/data:/meili_data getmeili/meilisearch
![轻量美丽的搜索引擎——MeiliSearch](http://img.jiangsulong.com/221103/1A3033R9-1.png)
文章插图
如上图所示,已经成功运行了一个 MeiLiSearch 服务 。
MeiLiSearch 服务自身提供可视化的 WEB 搜索页面,我们可以访问一下这个页面来验证服务是否运行
![轻量美丽的搜索引擎——MeiliSearch](https://www.isolves.com/d/file/p/2022/11-03/ef55a1ab4c601bbc53186e0fb53287d0.png)
文章插图
如上图所示,我们可以在浏览器上看到搜索界面,由于还没有创建索引和文档,所以是没有数据的 。
使用它的数据存储:Index > Document,和 ES 十分相似,但又简单了许多 。
由于任何搜索引擎都需要先添加索引,我们先添加索引 。
添加索引我们使用简单的 CURL 创建索引 。
curl-X POST 'http://localhost:7700/indexes'-H 'Content-Type: Application/json'--data-binary '{"uid": "movies","primaryKey": "id" }'
![轻量美丽的搜索引擎——MeiliSearch](http://img.jiangsulong.com/221103/1A30320b-3.png)
文章插图
添加文档索引是存储文档的地方,文档代表的是真正的数据 。
我们同样使用CURL批量创建文档
# 添加文档到 movies 索引curl-X POST 'http://localhost:7700/indexes/movies/documents'-H 'Content-Type: application/json'--data-binary @movies.json# movies.json为测试数据,具体数据可到meilisearch官网下载
![轻量美丽的搜索引擎——MeiliSearch](http://img.jiangsulong.com/221103/1A3031317-4.png)
文章插图
这时,在界面上可以看到我们之前添加的数据 。
![轻量美丽的搜索引擎——MeiliSearch](http://img.jiangsulong.com/221103/1A303A37-5.png)
文章插图
测试搜索尝试搜索一些关键词,可以看出,我们搜索就立即返回结果,并且带有高亮显示,速度非常快!
![轻量美丽的搜索引擎——MeiliSearch](http://img.jiangsulong.com/221103/1A3032111-6.png)
文章插图
另外,MeiliSearch 还提供 php、JAVA、Python/ target=_blank class=infotextkey>Python 等语言的 SDK,直接无缝对接,开箱即用 。
总结对于中小型企业,特别是数据量不大的,都可以使用 MeiliSearch 这款搜索引擎,轻量级安装部署、搜索速度快到极致,名副其实的轻量级且美丽 。
以上就是本期分享,如果大家对此感兴趣,欢迎各位关注、留言,大家的支持就是我的动力!
推荐阅读
- 基于 Flutter 构建的高性能 Web 渲染引擎 Kraken
- 合规政策冲击下,数字营销的前路与未来
- 在 Java 中节省内存:实现最小的内存占用
- SES隐形加密软件支持对任意格式的设计图纸进行加密管控
- Ghips:自动获取 GitHub 最快 IP,一键刷新 hosts,说说源码中的干货
- 谷歌解释为什么从 Chrome 中移除对 JPEG-XL 的支持
- Springboot使用redis过程中的报错问题
- pdf如何加水印,在哪里设置?你不知道的几种方法
- 那些你必须要知道的程序员接单平台
- IT程序员喜欢Linux系统的原因有哪些?