# Meilisearch —— 闪电般的开源搜索引擎,让你的应用秒变智能搜索
## 项目介绍
Meilisearch 是一款用 Rust 编写的轻量级、高性能开源搜索引擎,旨在为任何应用、网站或工作流提供快速、优雅的搜索体验。Meilisearch 兼容 Algolia 等商业搜索服务的 API 设计,但完全免费开源,支持私有化部署,全球星标数超过 5 万。
Meilisearch 可以在 50 毫秒内返回搜索结果,内置错字容忍(typo tolerance)、同义词支持、分面搜索(faceted search)、地理搜索等高级功能,无需复杂配置,开箱即用。同时支持向量搜索(vector search),可结合 AI 实现语义搜索。
## 核心特色功能
**毫秒级响应**:搜索延迟低于 50ms,即便在数百万文档的数据集上依然保持高速。
**错字容忍**:支持自动纠错,如搜索 “pythn” 仍能找到 “Python” 相关内容。
**同义词支持**:可以配置同义词词组,搜索任意一个词时自动匹配其他同义词结果。
**分面搜索**:支持按类别、价格、品牌等维度过滤结果,适用于电商、分类信息等场景。
**地理搜索**:支持按地理位置过滤和排序,可用于附近商家、房产等应用。
**排序规则**:支持按价格、日期、销量等自定义排序。
**向量搜索**:内置向量存储和语义搜索,结合 Embeddings 可实现 AI 驱动的语义匹配。
**全文检索**:支持中文、日文、希伯来文等多语言优化分词。
**RESTful API**:提供完整的 REST API,多语言 SDK 开箱即用,支持 PHP、Python、JavaScript、Go、Rust 等。
**安全策略**:支持 API Key 权限控制、细粒度索引访问控制、多租户 Token 等。
## 安装方式
Meilisearch 提供多种安装方式,最简单的本地部署只需一条命令:
**macOS(Homebrew)**:
“`bash
brew install meilisearch
meilisearch
“`
**Linux/macOS(安装脚本)**:
“`bash
curl -L https://install.meilisearch.com | sh
./meilisearch
“`
**Docker 部署**:
“`bash
docker run -d -p 7700:7700 \
-e MEILI_MASTER_KEY=’your_master_key’ \
-v $(pwd)/meili_data:/meili_data \
getmeili/meilisearch
“`
**直接下载二进制**:
从 GitHub Releases 页面下载对应平台的压缩包,解压后直接运行即可。
## 基本使用
启动 Meilisearch 后,默认监听 http://localhost:7700,可通过浏览器访问控制台(MeiliSearch Dashboard)。
### 创建索引并添加文档
“`bash
curl -X POST ‘http://localhost:7700/indexes’ \
-H ‘Content-Type: application/json’ \
-H ‘Authorization: Bearer your_master_key’ \
–data-binary ‘{
“uid”: “books”,
“primaryKey”: “id”
}’
“`
### 添加文档(JSON 格式)
“`bash
curl -X POST ‘http://localhost:7700/indexes/books/documents’ \
-H ‘Content-Type: application/json’ \
-H ‘Authorization: Bearer your_master_key’ \
–data-binary ‘[
{
“id”: 1,
“title”: “Python 编程:从入门到精通”,
“author”: “张三”,
“category”: “技术”,
“price”: 89.0
},
{
“id”: 2,
“title”: “Rust 实战”,
“author”: “李四”,
“category”: “技术”,
“price”: 119.0
}
]’
“`
### 执行搜索
“`bash
curl ‘http://localhost:7700/indexes/books/search’ \
-H ‘Authorization: Bearer your_master_key’ \
–data-urlencode ‘q=python’
“`
返回结果示例:
“`json
{
“hits”: [
{
“id”: 1,
“title”: “Python 编程:从入门到精通”,
“author”: “张三”,
“category”: “技术”,
“price”: 89.0
}
],
“processingTimeMs”: 2,
“query”: “python”
}
“`
## 配置搜索参数
### 设置可搜索字段
“`bash
curl -X PATCH ‘http://localhost:7700/indexes/books/settings’ \
-H ‘Authorization: Bearer your_master_key’ \
-H ‘Content-Type: application/json’ \
–data-binary ‘{
“searchableAttributes”: [“title”, “author”, “category”]
}’
“`
### 设置过滤条件
“`bash
curl ‘http://localhost:7700/indexes/books/search’ \
-H ‘Authorization: Bearer your_master_key’ \
–data-urlencode ‘q=编程&filter=price < 100'
```
### 设置同义词
```bash
curl -X PATCH 'http://localhost:7700/indexes/books/settings' \
-H 'Authorization: Bearer your_master_key' \
-H 'Content-Type: application/json' \
--data-binary '{
"synonyms": {
"编程": ["程序设计", "开发"],
"python": ["python3", "py"]
}
}'
```
## 与 LangChain 集成
Meilisearch 可作为 LangChain 的向量存储后端:
```python
from langchain_community.vectorstores import Meilisearch
from langchain_openai import OpenAIEmbeddings
vectorstore = Meilisearch(
embedding=OpenAIEmbeddings(),
meilisearch_url="http://localhost:7700",
api_key="your_master_key",
index_name="documents"
)
```
## 应用场景
1. **电商搜索**:商品名称、描述、品牌的多字段搜索,支持按类目和价格过滤
2. **文档检索**:企业内部知识库、帮助文档的全文检索
3. **内容平台**:博客、新闻网站的标题和内容搜索
4. **AI 应用**:结合 LangChain 做 RAG(检索增强生成)的向量数据库
5. **数据分析平台**:多维度分面搜索,支持复杂过滤和排序
## 开源协议
Meilisearch 采用 MIT 许可证开源。
## 相关资源
- 官方文档:https://www.meilisearch.com/docs
- GitHub 仓库:https://github.com/meilisearch/meilisearch
- 在线体验:https://cloud.meilisearch.com
服务支持:如有兴趣不会搭建,可以联系微信:WRYD6166,开源项目搭建10-50元。








暂无评论内容