侧边栏壁纸
博主头像
天马行空 博主等级

凡是过往,皆为序章

  • 累计撰写 632 篇文章
  • 累计创建 11 个标签
  • 累计收到 0 条评论

目 录CONTENT

文章目录

使用 Meilisearch 提升 Halo 网站的搜索体验

sortie
2026-04-12 / 0 评论 / 0 点赞 / 13 阅读 / 0 字

背景

Halo 从 2.0 版本开始支持了全文搜索功能,自带的 Lucene 搜索引擎在轻度使用场景下可以满足需求,但在重度依赖搜索功能的场景下,可能在搜索速度和用户体验上存在不足,这时我们会更推荐使用独立的搜索引擎。Meilisearch的社区版是免费安装使用的。

https://www.meilisearch.com/docs/resources/self_hosting/getting_started/install_locally

Docker Compose 独立编排部署

sudo -i

mkdir -p /root/data/docker_data/meili

cd /root/data/docker_data/meili

nano docker-compose.yml
services:
  meilisearch:
    image: getmeili/meilisearch:v1.19.1
    restart: unless-stopped
    ports:
      - "7700:7700"
    environment:
      - MEILI_ENV=production
      - MEILI_MASTER_KEY=dyxDFRXX9KXzJ18COhD6I67LwjnC1QC1B3fmmGz7v8ygyv0c
    volumes:
      - ./meilisearch_data:/meili_data

volumes:
  meilisearch_data:
    driver: local

其中,MEILI_MASTER为用户自定义,可以使用以下命令生成:

openssl rand -base64 36
docker compose up -d

Halo安装插件

在Halo应用市场搜索安装“Meilisearch 搜索引擎”

之前 Halo 社区中已经有人开发了 Meilisearch 插件,但已不再维护(有内存爆炸问题),这里选择使用 Halo 官方提供的插件。

Halo配置插件

  1. 进入插件设置,配置 Meilisearch 服务地址Master Key索引名称 可以选择使用默认的 halo 或者自定义(如果你的 Meilisearch 服务会被多个项目使用,建议自定义索引名称)。

  2. 主密钥与YAML配置文件中的保持一致。

  • 注意:服务地址的ip填写docker的ip地址,不要填写127.0.0.1或localhost

  1. 进入插件扩展配置,在 扩展点定义 中选择 搜索引擎,然后选择使用 Meilisearch。

数据概览

配置完插件后,我们可以进入插件的 数据概览 页面,查看 Meilisearch 的索引数据

如果页面显示不正常一般是ip配置有问题,对于阿里云等国内云服务商来说,不需要在防火墙放行7700端口。

如果页面显示正常,但是没有数据,点击重建索引

一般meili会占用几十兆内存

注意

  1. 如果配置完 Meilisearch 插件之后无法搜索,可以尝试重建一次索引。

  2. 安装 Meilisearch 插件之后仍然需要https://www.halo.run/store/apps/app-DlacW插件,Meilisearch 插件仅仅是提供服务,不会提供 UI。

  3. Halo的文章内容设为“私有”时,无法检索出来。

博主关闭了所有页面的评论