您的位置 首页 java

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

背景

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

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

轻量美丽的搜索引擎——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

如上图所示,已经成功运行了一个 MeiLiSearch 服务。

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

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

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

使用

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

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

添加索引

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

 curl 
  -X POST '#39; 
  -H 'Content-Type: application/json' 
  --data-binary '{
    "uid": "movies",
    "primaryKey": "id"
 }'  
轻量美丽的搜索引擎——MeiliSearch

添加文档

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

 # 添加文档到 movies 索引
curl 
  -X POST '#39; 
  -H 'Content-Type: application/json' 
  --data-binary @movies.json

# movies.json为测试数据,具体数据可到meilisearch官网下载  
轻量美丽的搜索引擎——MeiliSearch

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

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

测试搜索

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

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

另外,MeiliSearch 还提供 PHP、 JAVA Python 等语言的 SDK,直接无缝对接,开箱即用。

总结

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

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

文章来源:智云一二三科技

文章标题:轻量美丽的搜索引擎——MeiliSearch

文章地址:https://www.zhihuclub.com/201409.shtml

关于作者: 智云科技

热门文章

网站地图