Mastodon 中文搜尋最佳化

date
Mar 25, 2025
slug
20250325
status
Published
tags
筆記
Mastodon
summary
記錄一下在設定時踩的坑
type
Post
官網中文搜尋最佳化說明不符合現在的版本,就在設定時摸索一下,簡單記錄。

前言

假設你已經參考 Mastodon 官方網站的說明內容,成功的配置了全文搜尋。

安裝插件

在這裡你需要先安裝兩個不同的 Elasticsearch 插件:
前者用於中文分詞的搜尋,後者用於繁簡轉換。
請參照 GitHub 上的說明完成插件的安裝,安裝後進行檢查:

檢查 Elasticsearch 版本

在終端機中輸入指令:
得到的 JSON 回應內容可能會是這樣:
其中 version 底下的 number 就是目前的 Elasticsearch 版本。

檢查插件版本

可以使用 Elasticsearch 提供的 _cat/plugins API 輸入指令:
得到的回應內容可能會是這樣:
這樣就可以明確的知道目前安裝的插件版本。
⚠️
插件版本要與 Elasticsearch 的版本相同

修改索引定義

這邊要修改 Mastodon 的索引配置,你可以在 ../app/chewy/ 目錄下找到相關文件:
  • accounts_index.rb
  • statuses_index.rb
  • tags_index.rb
接下來讓我們逐一修改各個文件:

accounts_index.rb

statuses_index.rb

tags_index.rb

測試驗證

都改完了,你超棒!接下來是後續的測試與驗證:

重建索引

請使用以下指令強制重建索引,以使新設定生效:
可以使用 _analyze API 針對索引測試,輸入指令:
看看回應的內容是否正常。

重新啟動服務

最後使用更新 Mastodon 時最常使用的指令來重啟 Mastodon 服務:
就大功告成啦!
最後別忘記去網站試試看搜尋功能,應該是可以用啦。

參考資料

 

© 2033 TOWN 2023 - 2025