JSON中的Postgresql搜索

时间:2018-11-28 17:09:21

标签: json postgresql

我的例子有这样的桌子

 Error in split.default(x = train[rf$inbag[, z] == 1, "x"], f = attr(predList[[z]],  : 
  first argument must be a vector 

然后选择

                id                               data
0ab5203b-9157-4934-8aba-1512afb0abd0 {"title":"Board of Supervisors Meeting","id":"1i3Ytw1mw98"}
7ee33a18-63da-4432-8967-bde5a44347a0 {"title":"Board of Supervisors Meeting","id":"4-dNAg2mn6o"}
8d71ca35-74eb-4751-b635-114bf04843f1 {"title":"COPD 101", "id":"l9O0jCR-sxg"}

问题:

  1. 如何搜索任何json节点?像

    select * from module_data where data::json->>'title' like '%Board%' select * from module_data where data->>'title' like '%Board%'

  2. 表行中的
  3. JSON结构可以不同

我有表审核

select * from module_data where data::json like '%Board%'

更改DTO对象时,我需要找到该行

1 个答案:

答案 0 :(得分:1)

PostgreSQL 10引入了Full Text Search on JSONB

CREATE INDEX ON module_data
    USING gin ( to_tsvector('english', data) );

基于JSON的新FTS索引可与词组搜索配合使用,并跳过JSON标记和键。