给 Matrix Synapse 添加中文搜索

Matrix很好很强大,一般服务端都用Synapse,支持的协议最完善,然而它的中文搜索很难用,原因在于PostgreSQL未能正确的给中文分词。另一个服务端项目dendrite 支持CJK (中日韩)分词,也只是略好一些,并且那个项目开发也几乎停滞了。 开源IM软件中原生支持中文搜索的有Mattermost,我参考它给Synapse开发了一个方案,具体的做法是 使用 Zhparser 插件版 Postgres,给数据表添加一个字段,改少量Synapse代码。通过文件映射的方式,尽可能减少后期维护成本。
Read More

Docker版PostgreSQL升级迁移(慎用Watchtower更新基础服务)

Docker容器更新是个麻烦事,我的话因为大部分服务只有自己在用,也做了数据持久化和备份,就用Watchtower一键更新,这样做很方便但也可能会产生问题,因为有些项目版本迭代会导致配置、数据以及网络环境不兼容,我碰到过的就有:Alist从V2升级到V3导致配置重置;一个更新失败导致后续所有的容器丢失(大坑,建议还是一个一个更新而不是全部一起更新)
Read More