Mastodon 全文搜索中文优化手把手指南

注:此文写于2021.2.8, 适用于Mastodon v3.3.0, 其内容,包括文中涉及的一些服务版本可能已有变化,请使用时注意甄别

因为官方文档 的全文搜索和中文优化部分写的稍微有些简略(aka 不能只靠复制粘贴完成),我补充一下有哪些缺失的东西。


在我的原toot 基础上修改了一下格式后发布。


中文搜索优化需要安装两个Elasticsearch 插件 elasticsearch-analysis-ik 和elasticsearch-analysis-stconvert 但是文档里并没有说怎么安装。
两个插件的github 界面写了安装方法可以
./bin/elasticsearch-plugin install XXXX
来安装,但是对于小白来说这条命令并不够。它需要你先找到bin/elasticsearch-plugin 的位置。
我在linode 找到了相关内容

所以你需要的是
cd /usr/share/elasticsearch/
目录后输入
bin/elasticsearch-plugin install XXXXXX
XXXX 为上面的github 地址
另外需要注意的是,插件的版本需要和你自己Elasticsearch 的版本一致,不然会报错。如果报错了,你就到两个插件的github page -->Releases -->tags 找到符合的版本号,然后右键.zip 文件--> copy link address 代替上面XXXXX 部分即可。

两个插件装完后是修改Mastodon 的源码。官方文档上是用git 的写法表现的。如果没用git 的人(或是看到git 三个字母根本就???? 的人 ),只要能看懂文档是什么意思,是可以自己手动修改的。具体是vim 还是nano 还是Xshell 随意,我猜到这一步的人应该不是第一次用某种编辑器了。

那一段代码中,
diff --git 开头的指的是需要修改的文件名。此次需要修改的是app/chewy/accounts_index.rb, app/chewy/statuses_index.rb, app/chewy/tags_index.rb 三个文件。这三个文件都在 live 目录中。可以通过
su - mastodon
进入Mastodon 账号后
cd live 进入。

@@ 开头的行表明的是修改将要发生的行数,可以帮你更快的找到。不过此次修改的文件都不大,通过上下文很好找。

@@ -4,7 +4,7 意味着在这个文件的第四行后删去了7行,并又增加了七行,aka 行数没变,只是有内容变化。
随后,左边有加号意味着需要新加一行,减号+红色意味着要删掉这行。

最后,以上的中文语言优化需要在创建新索引前执行。
(或者可以在花了两个小时创建完后再优化再创建一次,反正我就是这么做的 :p)

最最后,我装Elasticsearch 或Mastodon 都没有什么奇怪的操作只是按照官方文档,所以如果你有文件的位置不在我写的地方,那我也不知道它会在哪里 :p


感谢ChaseDream1129 在我的原toot 下补充的两点:
1.如何查看Elasticsearch版本?
cd /usr/share/elasticsearch/lib
然后
ls
查看elasticsearch-X.X.X.jar的版本号

2.关于git diff
git diff出的内容不用手动修改,是可以直接导入的。
具体方法如下:
创建一个文本xxx.diff,将diff出的内容写进去(也就是官方文档的代码框里的内容)
然后在Mastodon目录导入diff:
cd /home/mastodon/live
git apply path/to/xxx.diff

评论

登录注册后才能评论。