news 2026/9/14 3:31:23

MeiliSearch

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
MeiliSearch

MeiliSearch

在 Ubuntu 系统中部署和使用 MeiliSearch 是一个高效的选择,MeiliSearch 是轻量级、高性能的开源搜索引擎,支持全文检索、实时索引、中文分词(需额外配置)等特性。以下是完整的部署、配置和使用指南

一、环境准备

确保 Ubuntu 系统已更新并安装依赖:

# 更新系统包sudoaptupdate&&sudoaptupgrade -y# 安装必要依赖(如 curl、unzip)sudoaptinstall-ycurlunzipwget

二、安装 MeiliSearch

方式 1:快速安装(推荐)

通过官方脚本一键安装(自动适配系统架构):

curl-L https://install.meilisearch.com|sh
方式 2:手动下载(可选,指定版本)
# 下载最新版本(替换版本号为需要的,如 v1.7.0)MEILI_VERSION="v1.29.0"curl-O -L"https://github.com/meilisearch/meilisearch/releases/download/${MEILI_VERSION}/meilisearch-linux-amd64"# 解压并赋予执行权限chmod+x meilisearch-linux-amd64# 移动到系统可执行目录(方便全局调用)sudomvmeilisearch-linux-amd64 /usr/local/bin/meilisearch
验证安装
meilisearch --version# 输出类似:meilisearch 1.29.0

三、启动 MeiliSearch

1. 临时启动(测试用)
# 直接启动(默认端口 7700,无密钥,仅本地访问)meilisearch
  • 访问地址:http://localhost:7700
  • 注意:临时启动无密钥,重启后数据丢失,仅用于测试。
2. 生产环境启动(推荐)

生产环境需配置主密钥数据持久化允许外部访问

# 设置主密钥(自定义,用于鉴权)exportMEILI_MASTER_KEY="你的安全密钥(如:MyStrongMasterKey123!)"# 启动(指定数据存储目录、允许外部访问、后台运行)meilisearch\--db-path /var/lib/meilisearch\# 数据持久化目录--http-addr0.0.0.0:7700\# 允许外部访问(所有IP)--env production\# 生产环境模式>/var/log/meilisearch.log2>&1&# 日志输出到文件,后台运行
3. 配置系统服务(开机自启)

为了保证 MeiliSearch 稳定运行并开机自启,创建 systemd 服务:

# 创建数据目录和日志目录sudomkdir-p /var/lib/meilisearch /var/log/meilisearchsudochown$USER:$USER/var/lib/meilisearch /var/log/meilisearch# 创建服务文件sudovim/etc/systemd/system/meilisearch.service

粘贴以下内容(替换MEILI_MASTER_KEY为你的密钥):

[Unit] Description=MeiliSearch After=network.target [Service] Type=simple User=root Group=root Environment="MEILI_MASTER_KEY=MyStrongMasterKey123!" ExecStart=/usr/local/bin/meilisearch \ --db-path /var/lib/meilisearch \ --http-addr 0.0.0.0:7700 \ --env production Restart=on-failure RestartSec=5s StandardOutput=append:/var/log/meilisearch.log StandardError=append:/var/log/meilisearch.log [Install] WantedBy=multi-user.target

保存并退出,然后启动服务:

# 重新加载 systemdsudosystemctl daemon-reload# 启动服务sudosystemctl start meilisearch# 设置开机自启sudosystemctlenablemeilisearch# 查看状态sudosystemctl status meilisearch

四、基本使用(API/控制台)

1. 访问 Web 控制台

启动后,访问http://你的服务器IP:7700,输入主密钥即可进入可视化控制台,支持索引管理、数据导入、搜索测试等。

2. API 操作示例(curl)
(1)创建索引
curl\-X POST'http://localhost:7700/indexes'\-H'Content-Type: application/json'\-H"Authorization: Bearer 你的主密钥"\-d'{ "uid": "books", "primaryKey": "id" }'
(2)添加文档
curl\-X POST'http://localhost:7700/indexes/books/documents'\-H'Content-Type: application/json'\-H"Authorization: Bearer 你的主密钥"\-d'[ { "id": 1, "title": "Ubuntu 实战指南", "author": "张三", "content": "Ubuntu 系统管理、部署、优化全攻略" }, { "id": 2, "title": "MeiliSearch 中文使用教程", "author": "李四", "content": "轻量级搜索引擎 MeiliSearch 快速上手" } ]'
(3)搜索文档
curl\-X GET'http://localhost:7700/indexes/books/search?q=Ubuntu'\-H"Authorization: Bearer 你的主密钥"

五、中文分词支持

MeiliSearch 默认对中文分词支持有限,需安装中文分词插件(基于jieba):

1. 安装插件依赖
# 安装 Python 和 pipsudoaptinstall-y python3 python3-pip# 安装 jieba 分词库pip3installjieba meilisearch-python
2. 使用 Python 脚本处理中文索引

示例脚本(meili_cn_tokenizer.py):

importjiebafrommeilisearchimportClient# 初始化客户端client=Client('http://localhost:7700','你的主密钥')# 获取索引index=client.index('books')# 配置中文分词(自定义分词器)index.update_settings({"tokenizer":{"locale":"zh","custom":{"zh":lambdatext:list(jieba.cut(text))}}})# 重新添加文档(让分词生效)documents=[{"id":1,"title":"Ubuntu 实战指南","author":"张三","content":"Ubuntu 系统管理、部署、优化全攻略"},{"id":2,"title":"MeiliSearch 中文使用教程","author":"李四","content":"轻量级搜索引擎 MeiliSearch 快速上手"}]index.add_documents(documents)

运行脚本:

python3 meili_cn_tokenizer.py

六、常见问题排查

  1. 端口无法访问:检查防火墙/安全组是否开放 7700 端口:
    # Ubuntu 防火墙开放 7700 端口sudoufw allow7700/tcpsudoufw reload
  2. 数据丢失:确认启动时指定了--db-path,且目录权限正确。
  3. 权限错误:确保运行 MeiliSearch 的用户对数据目录有读写权限。

七、停止/卸载 MeiliSearch

1. 停止服务
sudosystemctl stop meilisearch
2. 卸载
# 移除二进制文件sudorm/usr/local/bin/meilisearch# 移除服务文件sudorm/etc/systemd/system/meilisearch.servicesudosystemctl daemon-reload# 移除数据和日志(可选)sudorm-rf /var/lib/meilisearch /var/log/meilisearch.log

以上就是 Ubuntu 系统中 MeiliSearch 的完整部署和使用指南,如需更复杂的配置(如集群、HTTPS、自定义分词),可参考 MeiliSearch 官方文档。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/12 5:33:04

零基础也能做!用Qoder快速开发“技能五子棋”蹭热点项目

大家好,我是来自阿里云设计部的一名设计师。坦白说,我是个纯开发小白,但今天我想和大家分享一个让我自己都感到惊喜的经历:如何仅凭自然语言,借助AI工具Qoder,从零做出一款技能五子棋游戏。一、设计阶段&am…

作者头像 李华
网站建设 2026/9/13 23:39:14

GitHub加速终极方案:告别龟速访问,体验丝滑编程

GitHub加速终极方案:告别龟速访问,体验丝滑编程 【免费下载链接】github-hosts 🔥🔥🔥 本项目定时更新GitHub最新hosts,解决GitHub图片无法显示,加速GitHub网页浏览。 项目地址: https://gitc…

作者头像 李华
网站建设 2026/9/13 12:39:05

【总结】【计组】【OS】页号、页框号、虚拟地址、物理地址、地址

目录 页号和页框号对比 页表项、页表、页号、页框号关系 页表项详细结构 页表的组织方式与特点 操作系统与硬件的协同管理 地址字段划分计算 页表大小计算 整体过程分析(地址转换、通过物理地址访问数据) 地址转换与访问流程 操作系统核心职责…

作者头像 李华
网站建设 2026/9/12 20:30:41

超细整理,性能测试如何做?怎么做?性能压力负载(汇总三)

目录:导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结(尾部小惊喜) 前言 做性能测试的时候…

作者头像 李华
网站建设 2026/9/12 20:49:53

国外代理IP怎么选?4大标准帮你避坑选优

随着跨境数据采集、海外营销、国际市场研究等业务需求激增,越来越多企业开始关注国外代理IP的选型问题。但市面上的代理服务五花八门,质量参差不齐,不少用户踩过“IP频繁掉线”、“响应速度慢”、“并发失败”等坑。那么,该如何选…

作者头像 李华
网站建设 2026/9/13 15:23:06

艾体宝洞察 | 当供应链恶意代码会“二次来袭”:Shai-Hulud 事件下,为什么必须重新审视你的应用安全体系?

在 AI、自动化开发和开源生态高度繁荣的今天,一次 npm 包更新,就足以把攻击者请进你的 CI/CD 和云账号。 最新曝光的 Sha1‑Hulud供应链攻击,再次把整个行业敲醒: 它不再满足于“顺手偷点凭证”,而是进化出了—— 可…

作者头像 李华