Postgresでjsonb列に対して全文検索を使用するにはどうすればよいですか?


回答:



3

できますが、それが実用的かどうかはそれほど明確ではありません。

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') ;

これにより、だけでなく、すべてのオブジェクトキー検索されることに注意してください。そして、あなたはテキストの量に制限されます

ここ dbfiddle

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.