misskey-dev / misskey

🌎 A completely free and open interplanetary microblogging platform 🚀
https://misskey-hub.net/
GNU Affero General Public License v3.0
9.95k stars 1.35k forks source link

検索機能をpgroongaに対応させる #14730

Open samunohito opened 4 days ago

samunohito commented 4 days ago

Summary

pgroongaに対応し、

…を選べるようにします。

Purpose

Meilisearchを採用していないサーバ向けに検索機能増強の選択肢を提供できる

Do you want to implement this feature yourself?

samunohito commented 4 days ago

(すぐに着手は難しいので、どなたか代わりにやってくれても◎)

tai-cha commented 4 days ago

検索、interface的な抽象化をしたうえで実装してどの手段を用いても似たように呼び出して検索できるようにしたい 例えばtypesenceに対応させたいとか、あるいはまた別の検索エンジン使いたいとかそういう需要も出てくるかもしれないので

samunohito commented 4 days ago

ElasticsearchやOpenSearchなどもありますし、そちらの方が望ましいですね。

syuilo commented 4 days ago

PGroongaは日本語onlyのソフトかしら

samunohito commented 4 days ago

公式より、

PostgreSQLはアルファベットと数値だけを使った言語の全文検索だけをサポートしています。これは、日本語や中国語などはサポートしていないということです。PGroongaをPostgreSQLにインストールすると全言語対応の超高速全文検索機能を使えるようになります!

とのことです。

syuilo commented 4 days ago

ほむん PostgreSQLは標準でも日本語の全文検索できてるような? PGroongaを使えば全ての言語でより速くなるということかしら

samunohito commented 4 days ago

PostgreSQLは標準でも日本語の全文検索できてるような? PGroongaを使えば全ての言語でより速くなるということかしら

はやくなります。 LIKEではインデックスが効かない(効かせることもできるが限定的)こともあり、膨大な量のテキストデータ検索には不向きです。反面、PGroongaを導入した場合は対象のテキストデータに対してインデックスを作成し、それを用いて検索するので早いです(加えて正確らしい)。