中文搜索问题

默认情况下flarum中文搜索体验很差, 很多亚洲字符搜索不到.

  1. 有两种解决办法:

  2. 修改mysql文件, 但是有如下缺点:


    • mariadb不可用;

    • 修改了之后会影响

  3. 通过第三方搜索引擎实现:


  4. Sonic配置过程如下:


参考网站: Sonic官网

<span class="hljs-comment"># First, add the Sonic APT repository (eg. for Debian bookworm):</span>
<span class="hljs-built_in">echo</span> <span class="hljs-string">"deb [signed-by=/usr/share/keyrings/valeriansaliou_sonic.gpg] https://packagecloud.io/valeriansaliou/sonic/debian/ bookworm main"</span> &gt; /etc/apt/sources.list.d/valeriansaliou_sonic.list

curl -fsSL https://packagecloud.io/valeriansaliou/sonic/gpgkey | gpg --dearmor -o /usr/share/keyrings/valeriansaliou_sonic.gpg
<span class="hljs-comment"># 如果提示没有 gpg , 记得安装 `nala install gnupg`;</span>

nala update

<span class="hljs-comment"># Then, install the Sonic package:</span>
nala install sonic

<span class="hljs-comment"># Then, edit the pre-filled Sonic configuration file:</span>
vim /etc/sonic.cfg
<span class="hljs-comment"># 里面的配置要和插件后台保持一直, 否则会连接server失败;</span>
<span class="hljs-comment"># 可以使用 locate sonic, 查看 sonic 相关目录;</span>

<span class="hljs-comment"># Finally, restart Sonic:</span>
systemctl start sonic
systemctl <span class="hljs-built_in">enable</span> sonic
``

3. 安装插件`Search By Sonic`, 实现`Flarum`与调用`Sonic`;

&gt; 参考[Search By Sonic官网](https://extiverse.com/extension/ganuonglachanh/sonic)

```sh
<span class="hljs-comment"># Install the extension( /vat/www/flarum/ 目录下执行):</span>
sudo -u yaro composer require ganuonglachanh/sonic

<span class="hljs-comment"># Change info in admin setting</span>
设置IP, 端口等. (切记与 /etc/sonic.cfg 保持完全一直)

<span class="hljs-comment"># Then create first index by this command (only run once, new posts will auto index):</span>
php flarum sonic:addtoindex
  1. 之前遇到的bug

  2. /etc/sonic.cfg 中设置的是 inet = "[::1]:1491"

  3. 插件后台 Host 设置的是 127.0.0.1

  4. 二者不同导致连不上服务器curl http://127.0.0.1:1491 -v

  5. 解决方案: 把后台 Host 设置为 [::1] 即可;

  6. 其他问题

  7. 至少输入三个字, 才能实时显示搜索结果;

  8. 解决方案: 用js前面添加空格即可;

之前遇到的bug

/etc/sonic.cfg 中设置的是 inet = "[::1]:1491"

插件后台 Host 设置的是 127.0.0.1

二者不同导致连不上服务器curl http://127.0.0.1:1491 -v

解决方案: 把后台 Host 设置为 [::1] 即可;

其他问题

至少输入三个字, 才能实时显示搜索结果;

解决方案: 用js前面添加空格即可;

5 个月 后
23 天 后
2 个月 后
  • 任务一
  • 任务二(已完成)
  • 任务三

表格

姓名年龄城市
张三25北京
李四30上海
王五28广州