<返回更多

轻量美丽的搜索引擎——MeiliSearch

2022-11-03  今日头条  博读代码
加入收藏

背景

由于公司项目需要用到全文搜索这个功能,而且要求轻量级,不能用复杂的ES,于是在网上搜索资料。一次偶然机会,发现了一个名字特别显眼的搜索引擎——MeiliSearch!

MeiLi(美丽),这么直白用拼音命名项目,这越发激起了小编的好奇心,好了,带着满脑的疑问,我们来研究一下这个美丽的搜索引擎吧!

 

概要

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 服务。

MeiLiSearch 服务自身提供可视化的 WEB 搜索页面,我们可以访问一下这个页面来验证服务是否运行

 

如上图所示,我们可以在浏览器上看到搜索界面,由于还没有创建索引和文档,所以是没有数据的。

 

使用

它的数据存储:Index > Document ,和 ES 十分相似,但又简单了许多。

由于任何搜索引擎都需要先添加索引,我们先添加索引。

 

添加索引

我们使用简单的 CURL 创建索引。

curl 
  -X POST 'http://localhost:7700/indexes' 
  -H 'Content-Type: Application/json' 
  --data-binary '{
    "uid": "movies",
    "primaryKey": "id"
 }'

 

添加文档

索引是存储文档的地方,文档代表的是真正的数据。
我们同样使用CURL批量创建文档

# 添加文档到 movies 索引
curl 
  -X POST 'http://localhost:7700/indexes/movies/documents' 
  -H 'Content-Type: application/json' 
  --data-binary @movies.json

# movies.json为测试数据,具体数据可到meilisearch官网下载

 

这时,在界面上可以看到我们之前添加的数据。

 

测试搜索

尝试搜索一些关键词,可以看出,我们搜索就立即返回结果,并且带有高亮显示,速度非常快!

 

另外,MeiliSearch 还提供 phpJAVAPython/ target=_blank class=infotextkey>Python 等语言的 SDK,直接无缝对接,开箱即用。

 

总结

对于中小型企业,特别是数据量不大的,都可以使用 MeiliSearch 这款搜索引擎,轻量级安装部署、搜索速度快到极致,名副其实的轻量级且美丽。

 

以上就是本期分享,如果大家对此感兴趣,欢迎各位关注、留言,大家的支持就是我的动力!

声明:本站部分内容来自互联网,如有版权侵犯或其他问题请与我们联系,我们将立即删除或处理。
▍相关推荐
更多资讯 >>>