Flarum的搜索引擎有哪些很好支持中文的
说到 Flarum,自带的搜索对中文文字不好用,于是整理出一些全文检索方案给大家参考。
本文教程所使用环境
Flarum版本: v1.6.2
Nginx1.2 + Mysql 8 + PHP 8
—
支持中文搜索的方案
1、Sonic
2、Meilisearch
3、Algolia
4、Elasticsearch
性能、部署难度、数据规模、分词能力
1、从安装使用难度如下:
Algolia < Sonic < Meilisearch < Elasticsearch
2、服务器性能占用大小
Algolia < Sonic < Meilisearch < Elasticsearch
3、功能、数据规模和分词能力 //2022-11-26更正
Sonic < Algolia < Meilisearch < Elasticsearch
安装部署的方式
一、Algolia
Algolia (www.algolia.com)不需要在自己服务器部署,不用担心影响服务器的性能,只需从 Algolia 官网申请一个API ,然后在 Flarum 安装一个Scout Search 扩展,启用后,填写Algolia API 即可。
Algolia 免费方案仅可使用 10,000 次/月的查询量,超出的量可以查阅官方价格 https://www.algolia.com/pricing/ ,假如你的论坛使用量不多,可以试试这个。
部署和配置方式:
1、到Algolia (www.algolia.com)注册一个账号,并且创建API,整个过程大概需要几分钟时间
2、Flarum需要安装 Scout Search (https://extiverse.com/extension/clarkwinkelmann/flarum-ext-scout)这个扩展并启用
3、进入Flarum管理后台,在 Scout Search 选择Algolia 并填写刚才申请的API,如下图:
4、SSH进入Flarum安装目录,运行 php flarum scout:import-all
这句命令创建索引
成功会提示如下:
二、Sonic
Sonic最好的使用方式便是docker,所以请先确保你会简单的使用docker,仅仅需要知道一些概念即可,不过Sonic 的分词功能不是很好,不一定所有关键词都能搜到,但也比原生的好。
部署和配置方式:
1、安装 Docker
2、安装Sonic https://github.com/valeriansaliou/sonic#installation
3、安装 ganuonglachanh/sonic 插件 https://extiverse.com/extension/ganuonglachanh/sonic
4、启用插件,设置默认即可,不需要修改
5、创建索引,在 Flarum 安装目录运行 php flarum sonic:addtoindex
命令
详细部署方式参考 https://forum.gitzaai.com/d/48-flarum-search-by-sonic-he-dockeran-zhuang-ji-lu
三、Meilisearch
MeiliSearch (https://www.meilisearch.com/)是一个强大、快速、开源、易于使用和部署的搜索引擎。搜索和索引都是高度可定制的。提供开箱即用的功能,如错字容忍、过滤器和同义词。
对服务器的性能要求有点高,详细请查阅官网。
部署和配置方式:
1、安装 Meilisearch 轻量级搜索引擎
2、安装 Meilisearch SDK ,在 Flarum 安装目录运行 composer require meilisearch/meilisearch-php
3、安装 Scout Search 扩展 https://extiverse.com/extension/clarkwinkelmann/flarum-ext-scout
4、启用 Scout Search ,填写 Meilisearch 的API
5、创建索引 ,在 Flarum 安装目录运行 php flarum scout:import-all
这句命令
如果成功就会返回如下信息
详细安装方式参考如下
https://forum.gitzaai.com/d/79-yong-meilisearch-ti-dai-flarum-de-zhong-wen-sou-suo-gong-neng
四、Elasticsearch
这个太高级了,需要掌握的知识面非常多,我也不会。
部署和配置方式:
1、部署 Elasticsearch
2、安装 blomstra/search 或者同类插件 https://extiverse.com/extension/blomstra/search
3、启用插件,填写Elasticsearch API
4、创建索引,在 Flarum 安装目录运行 php flarum blomstra:search:index
这句命令
总结
如果你不懂使用简单的Docker命令,或者 Linux 基础知识(创建文件、解压缩文件,文件权限、文件目录),并且你的用户量很少,推荐使用 Algolia , Meilisearch 其实这两者所需用到的知识不是很多,只不过Meilisearch 所需的服务器性比Sonic能高一点点。
希望这篇文章能帮到大家,作为新手的我,如果写得不好,请多多指教,如有错漏,欢迎留言补充。