ハイパーマッスルエンジニア

Vim、ShellScriptについてよく書く

Meilisearchの日本語検索をさらに強化する

 

Meilisearch」はOSSかつ日本語対応している検索エンジンで以下の特徴がある。

  • 高速
  • タイポに強い
  • カスタマイズ可能:検索結果のランキングルールやシノニム、ストップワードなどを設定できる
  • RESTful API:シンプルで直感的なAPIを持っており、多くの言語でのクライアントが利用可能
  • 軽量:低リソースで動作する
  • Faceted searchとフィルタリング:簡単に結果をフィルタリングしたり、特定の属性に基づいて検索できる

セットアップも簡単で、Dockerですぐに立ち上げることができる。5分もかからない。

日本語検索がちょっと微妙

そのままでも日本語検索に対応していて、普通に検索できるのだが若干思ったようにヒットしてくれない。
例えば「人生」がタイトルに含まれる本を検索したい場合に、ヒットしなかったりする。

「人生」がタイトルに含まれるドキュメントがある状態で...

「人生」でヒットしない

「人生”と”」のように適当な一文字をつけてあげるとヒットしたりする

「と」を一文字つけるとヒットする

これはどうやら中国語と日本語の対応がバッティングしているかららしい。

日本語検索改善用のDockerイメージがある

Meilisearchの中の人が作ってくれている日本語特化のDockerイメージがある。一番最新のはv1.3。

https://github.com/meilisearch/meilisearch/pull/3882

Dockerイメージを下記のようにすれば、日本語検索が改善される

# Dockerfile
FROM getmeili/meilisearch:prototype-japanese-4

ビルドし直してみると「人生」でヒットするようになった!

終わり

日本語特化用のPRが作られていることは下記のIssueで知った。感謝です。

https://github.com/misskey-dev/misskey/issues/10845