-
-
Notifications
You must be signed in to change notification settings - Fork 1.4k
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
feat(backend): pgroongaに対応(configの構成変更あり) #14978
base: develop
Are you sure you want to change the base?
feat(backend): pgroongaに対応(configの構成変更あり) #14978
Conversation
このPRによるapi.jsonの差分 |
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## develop #14978 +/- ##
===========================================
- Coverage 41.74% 39.97% -1.78%
===========================================
Files 1549 1563 +14
Lines 196555 197822 +1267
Branches 2767 3635 +868
===========================================
- Hits 82055 79072 -2983
- Misses 113939 118145 +4206
- Partials 561 605 +44 ☔ View full report in Codecov by Sentry. 🚨 Try these New Features:
|
芸細な話でいうと、
ここを note.cw + note.text みたいにして cwも検索対象に含める(インデックスは cwとtextを結合したものをあらかじめ作っておく)と個人的により神です |
related: #14373 |
explain analyse select * from note where "userId" = 'id' and text &@ 'text'; を explain analyse select * from note where "userId" = 'id' and (array[text, cw] &@ 'text'); とすることでcwを含めた検索も可能となりますが、挙動が明確に変わるので別対応とします。 また、上記クエリに対応させるとindexの作成方法も変わってきます… CREATE INDEX idx_note_text_and_cw_combined_with_pgroonga ON note USING pgroonga ((array[text, cw])); |
実際導入してみてnitsな指摘ですが、コンパネから現在の検索プロバイダをどのモードとして認識しているか確認できると嬉しいかもと思いました |
十分だと思います!ありがとうございます |
※2024.11.0の差分もそこそこたまってきているのでこれより後のリリースにしたい
What
&@
)でノート検索が出来るようになりますmeilisearchを利用している場合、configの
fulltextSearch.provider
にmeilisearch
を明示する必要があります(明示しない場合、SQLのLIKE検索が使用されます)meilisearchを利用していないのであれば特に変更はありません。
Why
fix #14730
Additional info (optional)
note.textにpgroongaのindexを作成し、実行計画が改善されることを確認(自鯖/214327レコード程度)
before
after
自分のサーバにpgroongaとこのprの内容を先行導入し、実際に動作確認
下記理由からpgroongaのindexを付与するマイグレーションsqlを作成していません
(インストールしてPostgreSQLに認識させないとインデックスを作れない)
導入する場合、下記のようなSQLを手動実行してindexを作成いただく必要があります。
Checklist