-
-
Notifications
You must be signed in to change notification settings - Fork 1.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Support for meilisearch as backend search solution #9323
Comments
よさそう |
やるか |
ブラウザからlocalhost:7700にアクセスしたら見れるのに何故かnodeからは繋がらない |
詰んだ |
もしかして: DNS問題(cacheable-lookup使ってる?) |
多分使ってない |
あーlocalhostじゃなくて127.0.0.1にしたらいけたかも |
なんか検索結果が0件になる |
tasukete |
謎 |
|
クエリ空にしても0 hitsなんだけど |
ヌァァァァァァァァァァァァァァァァァァァァァァァァァァァァァァァァァァンンンンオオオオンンオンオンオンオンンンンンンンンン゛ン゛!!!!!!!!!!!!!!!! |
使ってるバージョンがもしかしてv1.1.0?なんか変なバグ見つかって妙なことしてるみたい v1.1.1使うかv1.0.2使ったほうがいいかも |
1.1.1だった |
このブランチで他の人が動くか試してもらいたい |
コマンド的にはsocumentsにaddしてるけど結果的にはindexだけ作られてるような挙動になってる |
ここでaddDocumentsしてる
|
スケールに関しては、Misskeyで検索する頻度はそう多くないと思うから問題になりにくそう |
あと、大規模サーバーの場合はオンプレミスよりは(スケーラブルな)Meilisearch Cloud使った方が良いかも |
ちょっと語弊があるかも
検索を使わないように色んな機能盛り込んだから比較的使わなくても済むようになってるだけで実際必要になったら使えない状態なのはちょっとまずいかも
それめちゃくちゃ高いので現実的じゃないかも (↑の追記)ざっくりソース見た感じそもそもベースのものが現時点では全くと言えるほどスケーラブルじゃないので結局自動化されたバックアップ+リストアとかで動いてそう、頻繁にデータが変わる使い方に向いてなさそうな実装と感じたため |
Elasticsearchにするか |
(ストレージとメモリが高速かつ大量ならCPUは貧弱でもいいのではと期待してみるけど実際どうなんだろう…まあそれも高くつくが) |
メモリを大量に使うならCPUもある程度比例して使いそうだからだめだな |
(というか昔の io で実績がある PGroonga は…) |
パッと試したところ、MeiliSearchはストレージさえあれば割とと快適に動くかも知れません。 |
ストレージ効率を犠牲にして高速性に特化したものだと思うから高速なのはそうなのだろうけど、大きいサーバーだと投稿数1億は普通に超えるから運用が厳しそう |
PGroongaはp1.a9z.devで使ってるけどたまに遅かったり結果が微妙だったりはする |
(たまに遅いというか検索結果が過去に遡るほど遅い |
Meilisearchを選択肢のひとつとして実装するなら良いかもしれないけど、ドキュメントとか見てる感じaqzが言ったようにショッピングサイトとか検索対象がそこまで多くないユースケースが想定されてそうで、Misskeyのような毎秒投稿が追加されていくようなサービスにはあまり向いてなさそうだから小規模サーバーであっても結局はそのうち厳しくなってきそう |
misskey.ioの全投稿をSSD8TB+RAM256GBぐらいで検索できるなら許容範囲だとは思う(それで収まるかは知らないけど) |
投稿ではなくユーザーの検索とかだったらMeilisearchはちょうど良さそう |
たしかに応答速度に関してはいい感じだとは思います。HAもレプリケーションも無しで動かすのはちょっと不安だけど小規模なら許容範囲かも ちなみに元のデータとmsのインデクスされてるデータのサイズはどのぐらいでしょうか? |
たしかに |
あとローカルの投稿のみインデックス対象にするオプション実装すればそれなりに耐えられそう |
(ユーザー検索ってそこまで遅かった?) |
昔のついったーみたいに直前3ヶ月くらいはこれで検索して範囲外はesかPGroongaになげるみたいなことができたらいいかも |
元のデータは、DBのnoteテーブルからid, createdAt, text, cw, userHostを抜き出したもので、280MB程度です。インデックス後のサイズ(このデータのみ新規にインデックスしたdata.msディレクトリのサイズ)は3.1GBになりました。 MeiliSearchのドキュメントにも、元データの10倍程度のディスクを用意してね、と書いてあるので、妥当な結果だと思います。 |
ioレベルだとTB規模になりそうですが検索範囲をローカル+投稿の期間で絞ればなんとかなるかも…? あとはやっぱりユーザーやチャンネル、ページ、PLAYなどの検索に使えたら便利かも |
Completed with release of v13.12.0 #10774 |
ioのインデックスは30GBで済んだらしい |
(ローカル投稿限定で) |
done |
Summary
Obviously, for small and medium-sized misskey instances, elasticsearch takes up too much hardware resources (especially memory) .But meilisearch, which is much lighter. Therefore, it would be very pleasant to add support for meilisearch.
Refrence
https://github.com/meilisearch/meilisearch
The text was updated successfully, but these errors were encountered: