Meilisearch

Meilisearch

7,615
2,424

集成 Meilisearch,为 Halo 2.0 提供更强大、更精确、更易用的搜索功能。

下载

安装到 Halo

方式一

如果安装了应用市场插件,可以直接在应用市场中搜索Meilisearch并安装。

方式二

输入你的 Halo 站点地址,点击安装之后会重定向到你 Halo 后台并自动安装,Halo 的版本需要 >= 2.6.0。

方式三

点击手动下载,然后在 Console 上传。

更强大的搜索功能

体验网站

功能介绍

为 halo 适配 meilisearch,提供搜索引擎的功能。

插件原理

插件搜索功能基于 meilisearch,做了适配工作。

使用教程

启动 meilisearch(可选)

如果已有 meilisearch 服务或者使用 meilisearch cloud,则不需要此步。

当然,你也可以通过别的方式搭建 meilisearch

修改 docker-compose.yml

version: "3"

services:
  halo:
    image: halohub/halo:2.17.0-beta.1
    container_name: halo
    restart: on-failure:3
    depends_on:
      - meilisearch
    networks:
      - halo_network
    volumes:
      - ./halo2:/root/.halo2
    ports:
      - 8090:8090
    command:
      # 修改为自己已有的 MySQL 配置
      - --spring.r2dbc.url=r2dbc:pool:mysql://localhost:3306/halo
      - --spring.r2dbc.username=root
      - --spring.r2dbc.password=
      - --spring.sql.init.platform=mysql
      # 外部访问地址,请根据实际需要修改
      - --halo.external-url=http://localhost:8090/
      - --server.port=8090

  # 这部分为新增内容,创建一个 meilisearch 容器
  meilisearch:
    image: getmeili/meilisearch:v1.8
    container_name: meilisearch
    restart: on-failure:3
    networks:
      - halo_network
    environment:
      - MEILI_ENV=production
      # 可以改成自己的密码,对长度有限制,不建议修改
      - MEILI_MASTER_KEY=95d031f029c0f93289791d39f01a7f42a2211973
      - MEILI_NO_ANALYTICS=true

networks:
    halo_network:
  • MEILI_MASTER_KEY 可自定义

通过 docker compose up -d 启动 halo 和 meilisearch。

插件设置

插件需配合 搜索组件 一起使用,搜索组件提供了前端界面, Meilisearch 提供了后端搜索服务。

进入插件详情 -> 基本设置

  • host: meilisearch 的 url,默认 http://meilisearch:7700
  • masterKey: meilisearch 的 masterKey,需要与 docker-compose.yml 中配置的一致。
  • 搜索结果的长度: 每条搜索结果的长度。
  • 搜索私有文档: 搜索结果中展示非公开的文档。
  • 搜索已回收: 搜索结果中展示回收站中的文档。

代办事项

  • 对搜索内容进行后置处理、删除图片信息等。
  • 将 meilisearch 集成到插件中,不再需要单独启动。

安装到 Halo

方式一

如果安装了应用市场插件,可以直接在应用市场中搜索Meilisearch并安装。

方式二

输入你的 Halo 站点地址,点击安装之后会重定向到你 Halo 后台并自动安装,Halo 的版本需要 >= 2.6.0。

方式三

点击手动下载,然后在 Console 上传。

这是一个开源应用,我们推荐优先在开源仓库中提交 issue,以便开发者更好地接收和跟进问题。

去提交 issue