MisskeyでMeilisearchを利用する際の日本語検索の精度を向上させる

2024/8/29 06:08

体感ではそんな印象はないけど気になるので入れ替えてみる。

Docker

アップデート手順はほとんど参考記事のものです。

コンテナを停止する。

$ docker compose down

dumpを作成する。

$ curl  -X POST 'http://meilisearchのFQDN/dumps' -H 'Authorization: Bearer (MEILI_MASTER_KEYに設定した値)'

以下を実行してstatusがsucceededになったらok。

$ curl -X POST 'http://meilisearchのFQDN/tasks/(dumpsの返り値のtaskUid)' -H 'Authorization: Bearer (MEILI_MASTER_KEYに設定した値)'

(composeに設定したmeilisearchのディレクトリ)/dumpsにdumpファイルが生成されているはず。

(念の為) 先に(composeに設定したmeilisearchのディレクトリ)/data.msを別の場所にコピーしておく。

Meilisearchのdocker imageをMeilisearch 1.3.0系の

image: getmeili/meilisearch:prototype-japanese-4

に置き換える。

次にこのコマンドを実行してdumpを取り込む

$ docker run -it --rm -p 7700:7700 -v /meili_data:/meili_data getmeili/meilisearch:prototype-japanese-4 meilisearch --import-dump /meili_data/dumps/(dumpの名前)

最後にコンテナを起動して完了。

$ docker compose up -d

参考

非Docker

ビルドする場合

Dockerを使っていない場合は少し手順が複雑になる。

GitとRustがインストールされていない場合はインストールする。

Meilisearchのリポジトリをクローン、ディレクトリを移動する。

$ git clone https://github.com/meilisearch/meilisearch
$ cd meilisearch

v1.3.4をチェックアウトする

$ git checkout v1.3.4

最後にrustをアップデートして、中国語のトークン化を無効にしたバージョンのMeilisearchをビルドする。

$ rustup update

$ cargo build --release -p meilisearch -p meilitool --no-default-features --features "analytics mini-dashboard japanese"

最後にドキュメントの手順を実行してMeilisearchを更新すれば完了。

参考

注意点

中国語のトークン化を無効にして精度を向上させているらしいので(このあたりは詳しくないのでわかりませんが) 多分中国語の精度がめちゃくちゃ落ちます。