您的足迹: zh-search

官方现已支持配置中文

这是本文档旧的修订版!


Pleroma 配置中文搜索的思路(未验证)

注意!本页面只是记录配置的可能思路,完全没有验证过思路的可行性!请谨慎考量!请谨慎考量!请谨慎考量!

(请做好备份!请做好备份!请做好备份!)

Pleroma 搜索系统

Pleroma 搜索系统使用的是 postgresql 的全文搜索,并且似乎在数据表格中建立了一个索引列用来方便查找。

Postgresql 的全文搜索很重要的是 parser 以及 text search config ,其默认使用 english 作为搜索配置(Pleroma 也是默认 english),这也就很容易理解为什么这中文搜索这么烂了。

但其实其它自带的搜索配置全都不支持中文,所以我们要使用额外的配置。

另外,因为 pleroma 建立了一个索引列,所以我们是不能够在安装了 pleroma 之后再更改搜索配置的。但是有可能通过“备份 pleroma—配置搜索—恢复 pleroma 备份”来实现更改配置。

配置思路

综上所述,大概的思路如下:

一、备份 pleroma

二、重装 pleroma,但不恢复数据

三、配置搜索配置

数据库也重建一下,用来把索引列清掉。

sudo -Hu postgres psql -c 'DROP DATABASE <pleroma_db>;';
sudo -Hu postgres psql -c 'CREATE DATABASE <pleroma_db>;';

安装 pg_jiebajaiminpan/pg_jieba

english 配置替换为 pg_jieba 的配置:先进入 postgresql 控制台:

sudo -Hu postgres psql

在 postgresql 控制台分别:进入 pleroma 数据库,删除 english 配置,把 jiebaqry 复制成新的 english

\c pleroma;
DROP TEXT SEARCH CONFIGURATION english;
CREATE TEXT SEARCH CONFIGURATION english(COPY=jiebaqry);
\q

四、恢复 pleroma 数据