Как я могу использовать полнотекстовый поиск по столбцу jsonb с Postgres?


Ответы:



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 здесь

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.