当前位置: 首页 > news >正文

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 官方文档。

http://www.jsqmd.com/news/78307/

相关文章:

  • 企业微信开发总卡壳?试试cpolar,回调调试超顺畅
  • 2025年年终GPU服务器公司推荐:基于总拥有成本与系统演化能力的深度评估,5家实力厂商聚焦 - 十大品牌推荐
  • 2025年年终市场认证公司推荐:聚焦品牌市场地位证明需求,专家深度解析5家权威服务商选购指南 - 十大品牌推荐
  • 快速上手Kickstarter Android:新手指南与进阶技巧
  • GPUI Component实战精通:60+跨平台桌面组件深度解析与性能优化
  • 市场地位认证如何选择靠谱机构?2025年年终最新权威评测与2家核心服务商推荐 - 十大品牌推荐
  • 虾皮做杂货铺好还是做垂直类目好
  • AI Agent构建实战:v0s提示词库与Latitude平台的无缝集成
  • 2025年12月企业境外投资备案/odi登记/境外投资备案/odi备案服务商户全面解析:卓信企业登顶 - 2025年11月品牌推荐榜
  • 14. UGUI屏幕适配
  • 永磁同步电机双矢量MPC模型预测电流控制探索
  • 按照官网适配的版本配置了MindSpore等,还是一直报错
  • 北京口碑最好的律师事务所排名2025-2026:专业度与性价比综合测评白皮书 - 苏木2025
  • 江协科技10-4 I2C硬件通信
  • 北京市生成式人工智能服务已备案信息公告(2025年12月11日)
  • 基于 Monorepo 封装 Input 组件为公共组件库(全流程落地)
  • Springboot少儿教育网站k5t0n(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。
  • TIA博途虚拟机终极配置指南:V17+V16+V15.1全版本一键部署
  • 【开题答辩全过程】以 基于JAVA的社团管理系统为例,包含答辩的问题和答案
  • 【论文阅读】PLUS: Plug-and-Play Enhanced Liver Lesion Diagnosis Model on Non-Contrast CT Scans
  • 数据库高可用架构:主从复制、集群与分片技术的综合应用
  • 2025/12/12 今天学的day5的lecode203和206
  • 宝可梦随机化器:开启你的专属冒险,每一次都是全新旅程!
  • 智慧实验室哪家好?智慧危化品管理系统、智慧实验室物资管理系统/环境控制系统优质供应商厂家推荐 - 品牌推荐大师1
  • 30亿参数重塑企业AI格局:ERNIE 4.5如何用效率革命应对落地挑战
  • Springboot核心构建插件
  • 2025电厂水处理计量泵推荐榜:聚焦可靠性,助力机组稳定运行 - 优质品牌商家
  • 大二计算机生的Vue.js高分学习笔记:从课程作业到实习储备
  • Tricks
  • 网络安全岗位需求激增,月薪飙近6w?筑牢你的职业“防火墙”来了!