MeiliSearch!真的比Elasticsearch强?
在网站或应用开发中,搜索功能常面临挑战。传统搜索方案响应时间长,用户输入后需等待数秒才能获得结果,且经常因拼写错误返回不相关内容。现有搜索引擎解决方案通常存在配置繁琐需要专业知识,或功能局限无法满足多语言与地理位置等需求,集成过程也需要投入较多时间和精力。当我们需要实现全文搜索功能的时候,往往会使用到搜索引擎,比较常用的是Elasticsearch。但是Elasticsearch的硬件配置要求比较高,不同版本间的API兼容性也比较差。

今天给大家伙分享一款名为Meilisearch的开源搜索引擎,它以闪电般的速度和简单易用的特点脱颖而出。

EiliSearch
是一个功能强大、快速、开源、易于使用和部署的搜索引擎,并且MeiliSearch的搜索和索引都是高度可定制的,提供开箱即用的功能属性,如错字容忍、过滤器和同义词。而最重要的一点是,它【支持中文搜索】,而不需要添加额外的配置。MeiliSearch使用RUST语言进行编写 ,RUST语音最重要的特点就是并发安全,同时它还是支持函数式和命令式以及泛型等编程范式的多范式语言。并且在性能方面,MeiliSearch也是媲美C++语音的存在,所以使用RUST语音编写的MeiliSearch搜索引擎,可以说在性能上也是非常的优秀。

Meilisearch 作为一款现代化的搜索引擎,拥有众多实用功能:
即时搜索:在用户输入过程中实时显示结果,响应速度在 50 毫秒以内,提供流畅的搜索体验。
混合搜索:结合语义搜索和全文搜索的优势,获得最相关的结果。
错别字容忍:即使查询中包含拼写错误,也能找到相关匹配项。
过滤与分面搜索:通过自定义过滤器增强搜索体验,只需几行代码即可构建分面搜索界面。
排序功能:根据价格、日期或其他任何需要的因素对结果进行排序。
同义词支持:配置同义词以在搜索结果中包含更多相关内容。
地理位置搜索:基于地理数据过滤和排序文档。
多语言支持:搜索任何语言的数据集,对中文、日语、希伯来语和使用拉丁字母的语言提供优化支持。
安全管理:通过 API 密钥控制用户可以访问哪些数据,允许精细的权限处理。
多租户:为任意数量的应用租户个性化搜索结果。
高度可定制:根据特定需求定制 Meilisearch,或使用开箱即用的无忧预设。
RESTful API:通过插件和 SDK 将 Meilisearch 集成到技术栈中。
AI 就绪:与 langchain 和模型上下文协议开箱即用。

首先我们下载下Meilisearch官方提供的Demo数据,下载地址:https://www.meilisearch.com/docs/learn/self_hosted/getting_started_with_self_hosted_meilisearch

下载完成后我们上传到服务器的指定位置,然后通过curl工具将数据导入到Meilisearch中;

通过curl往Meilisearch中导入索引的命令如下;
curl
-X POST '{{MEILISEARCH_URL}}/indexes/movies/documents?primaryKey=id'
-H 'Content-Type: application/json'
--data-binary @movies.json
接下来我们在Mini Dashboard页面中就可以看到数据了,比如搜索下Transformers;

Meilisearch 作为一款功能强大的开源搜索引擎,为网站和应用提供了极为丝滑的搜索体验。无论是构建电子商务网站的商品搜索、内容网站的文章检索,还是企业内部知识库的信息查询,它都能以闪电般的速度和精准的结果大幅提升用户体验。日常工作中再也不必为搜索功能的实现而烦恼,更高效的检索方式让信息获取变得更加便捷,从而显著提升工作效率。
https://github.com/meilisearch/meilisearch
