Postgresql

如何使用 Postgres 對 jsonb 列進行全文搜尋?

  • November 30, 2020

所以我有一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

引用自:https://dba.stackexchange.com/questions/179598