意外と苦戦したのでメモ。新規設置・kmyblueバージョン12の移行設定はすでにやっているものとする。
## 手順一覧
1. Sudachiプラグインの対応バージョンを調べる
2. 1で調べたバージョンのElasticSearchにアップデート
3. `usr/share/elasticsearch/bin/elasticsearch-plugin`に移動
4. `analysis-sudachi`を削除
5. Sudachiプラグインをインストール
6. `systemctl daemon-reload`+Elasticsearchの再起動
7. `/etc/elasticsearch/sudachi`に移動
8. wget/unzipでSudachi辞書をダウンロード・インストール
9. mastodon環境の再起動
1~2:Elasticsearch本体
3~6:Sudachiプラグイン本体
7~9:Sudachi辞書
## コマンド
### 1~2:Elasticsearch本体
```
# sudo apt install elasticsearch=<バージョン>
# sudo apt-mark hold elasticsearch
```
### 3~6:Sudachiプラグイン本体
```
# cd ..
# cd usr/share/elasticsearch/
# /usr/share/elasticsearch/bin/elasticsearch-plugin remove analysis-sudachi
# bin/elasticsearch-plugin install https://github.com/WorksApplications/elasticsearch-sudachi/releases/download/v3.3.0/analysis-sudachi-7.17.24-3.3.0.zip
# sudo systemctl daemon-reload
# systemctl restart elasticsearch
```
### 7~9:Sudachi辞書
```
# apt install unzip
# cd ~
# cd ..
# cd /etc/elasticsearch/sudachi
# wget wget https://github.com/WorksApplications/SudachiDict/releases/download/v20241021/sudachi-dictionary-20241021-full.zip
# unzip sudachi-dictionary-20241021-full.zip
# cp sudachi-dictionary-20241021-full/system_full.dic /etc/elasticsearch/sudachi/system_core.dic
# sudo systemctl restart mastodon-sidekiq
# sudo systemctl reload mastodon-web
# su - mastodon
$ cd live
$ RAILS_ENV=production bin/tootctl search deploy
```
必要に応じて `rm`や`rm -r`を使用する。
## リンク
- [GitHub - elasticsearch-sudachi](https://github.com/WorksApplications/elasticsearch-sudachi)
- [GitHub - SudachiDict](https://github.com/WorksApplications/SudachiDict)
- [Configuring full-text search - Mastodon documentation](https://docs.joinmastodon.org/admin/elasticsearch/)
- [Mastodonで日本語検索を行う場合の設定|KMY](https://note.com/kmycode/n/n4327b56a5051)
- [ElasticSearch設定方法 · kmycode/mastodon Wiki · GitHub](https://github.com/kmycode/mastodon/wiki/ElasticSearch%E8%A8%AD%E5%AE%9A%E6%96%B9%E6%B3%95)