Meilisearch 是一个功能强大、快速、易于使用和部署的搜索引擎,适用于各种需要高效搜索功能的应用程序。
功能说明
快速与高效:
- Meilisearch 旨在提供快速的搜索速度,能够在毫秒级别内返回查询结果,即使在处理大型数据集时也是如此。
- 例如,在官方提供的基准测试中,使用 Meilisearch 处理 10 万个文档时,平均搜索时间为 1.47 毫秒,而使用 Elasticsearch 搜索同样的数据集时,平均搜索时间为 44.1 毫秒。
功能丰富:
- 支持中文搜索,不需要额外配置。
- 提供开箱即用的功能属性,如错字容忍、过滤器和同义词。
- 支持拼写纠正、同义词替换、近义词搜索等功能,大大提高搜索结果的质量。
易于使用和部署:
- Meilisearch 的安装和设置过程非常简单,提供易于使用的 Web 界面和 CLI 工具,用户可以轻松管理和监控搜索引擎。
- 提供灵活的 API,可以轻松集成到任何应用程序中。
高度可定制:
- Meilisearch 的搜索和索引都是高度可定制的,包括自定义排名、字段权重和搜索范围等功能。
- 支持多种设置和搜索参数,可适应不同的业务场景。
活跃的社区支持:
支持多种语言和 SDK:
- Meilisearch 提供多种语言的 SDK,包括 JavaScript、Python 等,方便开发者在不同环境中使用。
版本更新:
- Meilisearch 不断发布新版本,引入新的功能和优化性能。例如,Meilisearch 1.8 版本就带来了许多新的改进和特性。
如需了解更多信息,可以访问其官方网站或查阅相关技术文档。
官方 GitHub
https://github.com/meilisearch/meilisearch
官方文档
https://www.meilisearch.com/docs/learn/getting_started/installation
官方网站
搭建教程
本文通过 Docker 的方式来部署 Meilisearch,以 Ubuntu 为例,操作步骤包括安装 Docker、启动容器运行镜像。
第一步:安装 Docker
sudo apt update
sudo apt install -y docker.io
第二步:启动容器运行镜像
# 拉取镜像
docker pull getmeili/meilisearch:v1.8
# 安装并启动容器
docker run -it --rm \
-p 7700:7700 \
-e MEILI_ENV='development' \
-e MEILI_MASTER_KEY='MASTER_KEY' \
-v /home/meili_data:/meili_data \
getmeili/meilisearch:v1.8
除了使用 Docker,Meilisearch 还支持多种部署方式,详细信息请参考官方文档。
部署方案
https://www.meilisearch.com/docs/learn/getting_started/installation
API 调用
下一步将 Meilisearch 集成到应用程序中,以 Python 为例。
安装 SDK
pip install meilisearch
添加文档
import meilisearch
import json
# 连接 Meilisearch,其中“MASTER_KEY”对应 Docker 部署的 MEILI_MASTER_KEY='MASTER_KEY'
client = meilisearch.Client('http://localhost:7700', 'MASTER_KEY')
# 读取 JSON 文件
with open('movies.json', encoding='utf-8') as json_file:
movies = json.load(json_file)
# 将 JSON 数据写入索引 movies
client.index('movies').add_documents(movies)
搜索文档
import meilisearch
# 连接 Meilisearch,其中“MASTER_KEY”对应 Docker 部署的 MEILI_MASTER_KEY='MASTER_KEY'
client = meilisearch.Client('http://localhost:7700', 'MASTER_KEY')
# 搜索索引 movies 的文档数据
results = client.index('movies').search('batman')
print(results)
上述示例只是简单演示了如何使用 Meilisearch,更多信息请参考官方文档。