Bagaimana saya bisa menggunakan pencarian teks lengkap pada kolom jsonb dengan Postgres?


Jawaban:



3

Anda bisa, meskipun itu praktis tidak begitu jelas:

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

Dan kemudian kueri dengan:

SELECT
    the_data
FROM
    t
WHERE
    to_tsvector('English', the_data::text) @@ plainto_tsquery('English', 'Action') ;

Perhatikan bahwa ini juga akan menemukan semua kunci objek Anda , bukan hanya nilainya . Dan Anda akan terbatas pada seberapa banyak teks

Aku di sini

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.