Postgresql
如何使用 Postgres 對 jsonb 列進行全文搜尋?
所以我有一
jsonb
列有這樣的條目:https ://pastebin.com/LxJ8rKk4有沒有辦法對整個 jsonb 列進行全文搜尋?
PostgreSQL 10+
PostgreSQL 10在 JSONB 上引入全文搜尋
CREATE INDEX ON table USING gin ( to_tsvector('english',jsondata) );
JSON 上的新 FTS 索引與片語搜尋一起使用,並跳過 JSON 標記和鍵。
PostgreSQL 11+
您可以使用 gist/gin 索引和查詢
json(b)_to_tsvector('<language>', <json(b)_column>, <filter>)
過濾器可以是 的任意組合
'["string", "numeric", "boolean", "key", "all"]'
。前三個是關於您想要包含哪些類型的值,同時"key"
包含所有鍵。請參閱文件並按字面意思搜尋
json(b)
. (我一開始找不到,因為我在找jsonb
)