Meilisearch 是一个高性能、开源的搜索引擎,旨在为开发者和企业提供快速、易用且高度可定制的搜索解决方案。它由法国初创公司 Meili 开发,使用 Rust 语言编写,具有完全开源、易于部署、维护方便和高度可定制等优点。Meilisearch 的设计理念围绕着速度、相关性和开发者友好性,确保在任何规模的数据集上都能在 50 毫秒内返回结果,并通过智能排序算法确保最相关的结果始终排在前面。

Meilisearch 提供了丰富的功能,包括全文搜索、拼写错误容忍、分类搜索和过滤器、支持多种语言(包括中文)、同义词支持、RESTful API 等。它还支持混合搜索,结合语义搜索和全文搜索,以获得最相关的结果。此外,Meilisearch 提供了自定义排名规则,允许用户根据特定需求调整搜索行为。

1、创建专属桥接网络

若已创建,可跳过此步骤。

https://www.hcjike.com/archives/tMUqkbKb

2、部署项目

2.1、创建项目

2.2、Compose配置

networks:
    app_network:
        external: true
services:
    meilisearch:
        command: |
            /bin/meilisearch --no-analytics
        container_name: meilisearch
        environment:
            MEILI_CONFIG_FILE_PATH: /config/config.toml
            MEILI_MASTER_KEY: Meilisearch 主密钥
        image: getmeili/meilisearch:latest
        networks:
            - app_network
        ports:
            - 7700:7700
        restart: always
        volumes:
            - ./config:/config
            - ./data:/meili_data
            - ./dumps:/dumps
            - ./snapshots:/snapshots

MEILI_MASTER_KEY: Meilisearch 主密钥Meilisearch 主密钥替换为至少16位长度字母和数字组合的字符串;

2.3、启动项目

部署后首次启动会失败,由于缺少配置文件导致无法正常启动。

获取配置文件

将下载的配置文件放置到应用文件夹下的config目录下;

重新启动meilisearch应用。

应用启动后再将文件粘贴到 config 目录下是为了让项目自动创建文件夹,避免手动创建多层文件夹可能导致的权限问题,同时也能省去手动创建文件夹的麻烦。

3、halo博客使用Meilisearch 搜索引擎

应用商店安装Meilisearch 搜索引擎插件;

插件管理中启用Meilisearch 搜索引擎插件;

Meilisearch 服务地址http://meilisearch:7700

由于 Halo 博客Meilisearch 搜索引擎服务都部署在 app_network 网络下,可以直接通过服务名访问 Meilisearch 服务。如果采用其他部署方式或不在同一网络,则需要使用 NAS 的内网 IP 地址加上容器映射端口作为服务器地址。

Meilisearch 主密钥MEILI_MASTER_KEY配置的密钥字符串。

Meilisearch 搜索引擎插件配置为主要搜索引擎。

必须进行重建索引,否则搜索引擎可能无任何数据。