だから私は次のようなエントリを持つjsonb
列を持っています: https://Pastebin.com/LxJ8rKk4
Jsonb列全体に全文検索を実装する方法はありますか?
PostgreSQL 10 JSONBでの全文検索を導入
CREATE INDEX ON table
USING gin ( to_tsvector('english',jsondata) );
JSONの新しいFTSインデックスはフレーズ検索で機能し、JSONマークアップとキーの両方をスキップします。
できますが、それが現実的かどうかはそれほど明確ではありません。
CREATE TABLE t
(
id SERIAL PRIMARY KEY,
the_data jsonb
) ;
CREATE INDEX idx_t_the_data_full_text
ON t
USING Gist ( (to_tsvector('English', the_data::text))) ;
そして、それをクエリします:
SELECT
the_data
FROM
t
WHERE
to_tsvector('English', the_data::text) @@ plainto_tsquery('English', 'Action') ;
これはまたすべてのオブジェクトkeysを見つけることに注意してください。 values。そして、あなたはテキストの量に制限されます
dbfiddle ここ