MeiliSearch 1.55 介绍与选型指南
MeiliSearch 1.55 介绍与选型指南:基于官方资料梳理版本基准、索引文档模型、检索设置与安全模型、功能特性、快速上手示例、适用场景限制,并与 Elasticsearch、OpenSearch、Typesense 量化对比给出选型建议。
MeiliSearch 1.55 介绍与选型指南
本文为 MeiliSearch 的认知篇(A1),基于官方公开资料编写,只做介绍与选型分析,不包含本地安装与实测内容。
一、信息基准
1.1 基本信息
| 项目 | 内容 |
|---|---|
| 软件名称 | Meilisearch(官方仓库名,社区常写 MeiliSearch) |
| 本次介绍版本 | v1.55.0(1.x 最新稳定版) |
| 查询日期 | 2026-10-19 |
| 开发主体 | Meili SAS 与开源社区 |
| 开源许可 | MIT 与 BUSL-1.1 混合(核心功能 MIT,企业版功能为 Business Source License 1.1,仓库 LICENSE 标注 SPDX: MIT AND BUSL-1.1) |
| 编写语言 | Rust |
| 官方网站 | https://www.meilisearch.com/ |
| 源码仓库 | https://github.com/meilisearch/meilisearch |
| 文档站点 | https://www.meilisearch.com/docs |
1.2 版本依据
| 依据项 | 实查结果 | 来源 |
|---|---|---|
| 最新稳定版 | v1.55.0,2026-10-12 发布 | GitHub meilisearch/meilisearch 发行 feed |
| 并行维护线 | v1.54.3(2026-10-01)、v1.53.3(2026-10-01)、v1.52.4(2026-09-29)同期发布补丁 | 同上 |
| 版本节奏 | 小版本迭代频繁,多条近期版本线并行维护 | 同上 |
1.3 官方来源清单
| 来源 | 链接 | 用途 |
|---|---|---|
| Meilisearch 官网 | https://www.meilisearch.com/ | 产品门户与博客 |
| 官方文档站 | https://www.meilisearch.com/docs | 快速上手、设置项、API 参考 |
| GitHub 仓库 | https://github.com/meilisearch/meilisearch | 源码、LICENSE、发行 feed |
| 官方 SDK 目录 | https://www.meilisearch.com/docs/learn/what_is_meilisearch/sdks | 官方与社区客户端列表 |
二、软件概述
Meilisearch 1.55 是本次介绍的版本号(2026-10-19 官方最新稳定版 v1.55.0)。Meilisearch 是一个面向终端用户搜索体验的搜索引擎:单个可执行文件即可启动,默认零配置,围绕「键入即搜(search-as-you-type)」设计,内置拼写容错、前缀匹配、分面与筛选、地理搜索等站内搜索所需的主流能力,并通过 REST API 与多语言 SDK 对接应用。
其定位是「应用内搜索」而非「大数据检索平台」:以中小规模数据集、低运维投入、开箱即用为目标,适合开发者快速为产品加上一个体验优秀的搜索框。项目采用 MIT(核心)与 BUSL-1.1(企业版功能)混合许可,选型时需留意企业版功能的许可边界。
三、核心概念
3.1 索引与文档
- 索引(Index):文档的集合,每个索引绑定一个主键属性(primaryKey),用于唯一标识文档与增量更新去重。
- 文档(Document):JSON/CSV/NDJSON 对象数组,字段无需预定义 schema,任意字段均可参与检索;可通过 settings 控制可搜索(searchableAttributes)与可展示(displayedFields)字段。
3.2 检索相关设置
| 设置 | 作用 |
|---|---|
| searchableAttributes | 声明参与全文检索的字段与优先级顺序 |
| filterableAttributes | 声明可用于过滤表达式的字段(如 genre、price) |
| sortableAttributes | 声明可用于结果排序的字段 |
| rankingRules | 排序规则链,默认 words、typo、sort、proximity、attribute、exactness,可插入自定义规则 |
| stopWords / synonyms / dictionary | 停用词、同义词与自定义词条 |
| distinctAttribute / pagination | 去重与分页控制 |
3.3 分词与多语言
Meilisearch 的分词由其开源分词库 charabia 提供,支持包括中文、日文在内的多语言切分与归一化(部分语言能力需在构建时启用特性开关),中文场景应在官方「Language support」文档中核对当前支持级别。
3.4 安全模型
- 主密钥(master key):实例级根密钥,启动时通过 --master-key 指定,用于派生 API 密钥。
- API keys:区分 admin 与 search 权限,可设置过期时间与索引范围。
- 租户令牌(tenant tokens):面向多租户场景,在前端安全下发、按规则过滤搜索结果。
四、功能特性
- 键入即搜:前缀匹配与拼写容错开箱即用,无需配置即可容忍键入错误并返回建议。
- 筛选与分面:通过 filter 表达式(布尔、范围、IN 列表)组合过滤,facets 返回分面统计。
- 排序与相关性:内置默认相关性规则链,支持 sort 参数与自定义 rankingRules、可配置展示字段与高亮(highlightPreTag 等)。
- 地理搜索:文档携带 _geo 字段后可按坐标过滤与排序(_geoRadius、_geoBoundingBox)。
- 混合搜索:1.x 引入 embedders 设置,可为索引配置官方内置或外部向量来源,执行关键词与语义混合检索,调节 semanticRatio。
- 多租户与权限:API keys + tenant tokens 组合实现按用户/租户的数据隔离搜索。
- 运维界面:开发模式下自带浏览器 mini dashboard,便于调试索引与查询。
- 官方 SDK:meilisearch-js、meilisearch-python、meilisearch-php、meilisearch-go、meilisearch-rust、meilisearch-java、meilisearch-dotnet 等(官方 SDK 目录实查)。
五、快速上手
以下示例引自官方文档《Quick Start》(来源:https://www.meilisearch.com/docs/learn/getting_started/quick_start ),不涉及本地实测输出。
5.1 安装并启动
# 官方安装脚本(Quick Start 提供,另有各平台软件包与静态二进制)
curl -L https://install.meilisearch.com | sh
# 以主密钥启动(官方示例命令)
./meilisearch --master-key "aSampleMasterKey"
5.2 添加文档
# 向 movies 索引推送 JSON 文档(官方示例)
curl -X POST 'http://127.0.0.1:7700/indexes/movies/documents?primaryKey=id' \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer aSampleMasterKey' \
--data-binary @movies.json
5.3 执行搜索
# 关键词搜索(官方示例,键入即搜默认开启)
curl 'http://127.0.0.1:7700/indexes/movies/search?query=botman' \
-H 'Authorization: Bearer aSampleMasterKey'
六、适用场景与限制
6.1 适用场景
- 电商、内容站、SaaS 应用的站内搜索与商品检索,需要拼写容错与分面导航。
- 文档站、帮助中心的即时搜索框,对首字延迟与键入即搜体验敏感。
- 多租户 SaaS 的数据隔离搜索(tenant tokens + filter 规则)。
- 希望在关键词检索之上叠加轻量语义/混合搜索的应用(embedders 混合检索)。
- 无专职搜索运维团队的中小团队:单文件部署、默认零配置、REST API 直连。
6.2 限制与注意
- 以单实例为设计基准,官方未提供内建的数据分片与多节点复制集群能力,超大规模数据与高可用需求需另行评估架构。
- 企业版功能(如部分高级能力)以 BUSL-1.1 许可发布,采用前需核对 LICENSE 与 LICENSE-EE 边界。
- 中文等多语言切分依赖 charabia 的语言支持级别,特定语言场景应先在官方语言支持文档确认效果。
- 与 Elasticsearch/OpenSearch 相比,聚合分析、SQL 化查询、日志场景能力不在其定位内。
- 主版本迭代快、多条版本线并行维护,升级时应关注官方变更日志中的破坏性变更。
七、同类选型对比
7.1 候选与版本基准
| 软件 | 本次实查版本 | 定位 |
|---|---|---|
| Meilisearch | v1.55.0(2026-10-12) | 开箱即用的应用内搜索引擎 |
| Elasticsearch | 9.5.5(2026-10-06) | 分布式全文检索与分析平台 |
| OpenSearch | 3.9.0(2026-09-29) | Apache 2.0 的 ES 分支检索平台 |
| Typesense | 30.2(2026-04-19) | 内存型低延迟搜索引擎 |
7.2 量化对比
| 维度 | MeiliSearch 1.55 | Elasticsearch 9.5 | OpenSearch 3.9 | Typesense 30.2 |
|---|---|---|---|---|
| 开源许可 | MIT + BUSL-1.1(企业版部分,仓库 LICENSE 实查) | AGPLv3 / SSPLv1 / Elastic License 2.0 三重许可(仓库 LICENSE.txt 实查) | Apache 2.0(仓库 LICENSE.txt 实查) | GPL v3(仓库 LICENSE.txt 实查) |
| GitHub stars(2026-10-19) | 59,600 | 78,309 | 13,888 | 27,002 |
| 最近发版 | v1.55.0(2026-10-12) | 9.5.5(2026-10-06) | 3.9.0(2026-09-29) | 30.2(2026-04-19) |
| 版本节奏 | 月度级小版本、多线并行补丁(1.52–1.55 同期发补丁) | 季度特性版本 + 高频补丁(9.5.x 与 8.19.x 并行维护) | 季度特性版本(3.7/3.8/3.9 逐季推进) | 数月一个特性版本(30.0/30.1/30.2) |
| 兼容矩阵 | 自有 REST API 规范,官方 SDK 覆盖 JS/Python/PHP/Go/Rust/Java 等 | ES DSL 与 Kibana 生态事实标准 | 与 ES 7.10 API 为兼容起点,配 OpenSearch Dashboards | 自有 REST API,客户端库相对精简 |
| 部署形态 | 单二进制、默认零配置 | JVM 集群、组件多、运维投入高 | JVM 集群、组件多 | 单二进制、索引常驻内存 |
7.3 选型建议
一句话建议:中小数据规模、追求开箱即用与低运维的站内/应用内搜索选 Meilisearch;需要分布式扩展、聚合分析与完整生态工具链,在许可合规前提下选 Elasticsearch(或 Apache 2.0 的 OpenSearch);数据集较小但对延迟极敏感、可接受内存占用与 GPLv3 的场景选 Typesense。
八、参考链接
- Meilisearch 官网:https://www.meilisearch.com/
- 官方文档(Quick Start):https://www.meilisearch.com/docs/learn/getting_started/quick_start
- 官方设置项参考:https://www.meilisearch.com/docs/reference/api/settings
- GitHub 仓库与发行 feed:https://github.com/meilisearch/meilisearch
- 官方 SDK 目录:https://www.meilisearch.com/docs/learn/what_is_meilisearch/sdks
- 官方文档入口(可检索 Language support 等主题):https://www.meilisearch.com/docs
- 本文对比对象官方站点:Elasticsearch https://www.elastic.co/elasticsearch/ 、OpenSearch https://opensearch.org/ 、Typesense https://typesense.org/