mei23 / misskey

めいすきー
GNU Affero General Public License v3.0
67 stars 12 forks source link

Elasticsearchを使う #4846

Open mei23 opened 6 months ago

mei23 commented 6 months ago

Summary

Meilisearch: 検索精度が終わってる (漢字なんかが特にダメなので言語判定がダメなのか) Sonic: 日本語なんか全然対応してない 内部 (めいすきー型MeCab): 精度はまあいい、ただ最終的には重い、日本語以外はダメ CKは特に

ESはビルトインで使える2,3 ngramにするだけで日本語まではそれなりにまともだった。CKは不明 https://github.com/mei23/misskey/blob/4db87aedac6355fd0659ce7b964fc39b1f727412/src/db/elasticsearch.ts

せめてそれにしたい

やっぱりプラグイン追加でCJK個別インデックスにするのが最善? https://www.elastic.co/jp/blog/how-to-search-ch-jp-kr-part-2

上記+インデックスを節約するために、言語判定を入れるってのがあるけどそれはちょっと地雷かも CJの判定で誤爆する未来が見える https://www.elastic.co/jp/blog/how-to-search-ch-jp-kr-part-3

あとフィールド追加したい

前回はメタフィールドが全然なくて失敗したので userId, visibility あたりは最低限のフィルタとして追加 dateも追加、時間範囲とかなによりも過去データのパージを可能にする あたりはほしい。 これだけでも、ユーザー/サーバーモデレーションまでは追従できる。

mei23 commented 6 months ago

流石に、ユーザー削除/凍結/サイレンス?はインデックス削除回す

mei23 commented 2 months ago

https://github.com/MisskeyIO/misskey/pull/661