轻量搜索引擎-MeiliSearch
2023-02-14 21:47:57 阿炯

MeiliSearch 是近年开源的项目,主要目标是在小数据规模下实现比 ES 更加快速和易用的搜索体验。是 Rust 实现的高性能开源搜索引擎并在MIT协议下授权,支持方便地集成到任何网站或应用程序,支持自托管 (self-hosting),可作为 Algolia 和 Elasticsearch 的轻量替代方案。


Meilisearch针对数据在 500GB 左右的搜索需求,极快,单文件,超轻量,内置了许多实用功能,比如:

快速的输入即搜索 (search-as-you-type) 体验,也称作 “即时搜索”
支持冗错/纠错搜索 (typo tolerance)
支持多面搜索 (faceted search)
支持基于地理位置的搜索 (geosearch)
支持多租户 (multi-tenancy)

此外Meilisearch 提供了一整套完整的 SDK 和库,让开发者便捷地将其连接到流行的编程语言和 Web 工具。Meilisearch 的搜索功能支持所有语言,对任何使用空格分隔单词的语言以及中文、日语、希伯来语、泰语和韩语都进行了特殊优化。

特点

开源
同义词
纠错
高亮
全文返回
高级搜索
停用词、停用字段
加权、降权
逻辑搜索
唯一字段聚合
分页
重新索引
中文分词


最新版本:1.0
历经三年多的开发,Meilisearch 1.0 首个完全稳定版已于2023年2月中旬正式发布,可用于生产环境且向前兼容。1.0 的 CLI 工具不仅进入了稳定状态,还新增了许多破坏兼容性的重要变化,使错误处理程序更加直观。开发团队也表示,在 v2.0.0 发布之前,未来的 CLI 版本不会再有破坏性的更改。


优化了索引和搜索速度,主要包括以下方面:
优化包含多个长单词的搜索请求的内存使用
提升 exactness 包含多个单词的搜索请求的排序规则性能
在解释搜索查询时将多词同义词翻译成短语。此项变更优化了结果的相关性,并改进包含多词同义词的搜索查询延迟的稳定性,从而消除 DoS 攻击的来源
优化 proximity 以短词结尾的搜索请求的排序规则性能
限制在不需要时更新设置引起的重新索引
减少邻近排序规则的增量索引时间
改进软删除 (soft-deletion) 计算
完整发布说明请参考此处

项目主页:https://github.com/meilisearch/meilisearch/