如何在具有GIN索引字段的数组上执行LIKE%?

时间:2018-09-25 22:12:18

标签: postgresql

我有一个通过GIN索引建立索引的数组列match_input_search_names。当我运行以下查询时,返回正确的结果:

SELECT * FROM property_people WHERE search_names @> '{Camel Meal}';

但是,我想使用部分匹配%来搜索我的列,如下所示:

SELECT * FROM property_people WHERE search_names @> '{%amel Me%}';

1 个答案:

答案 0 :(得分:1)

用全文本搜索无法做到。

您应该

CREATE EXTENSION pg_trgm;

那么你可以

CREATE INDEX ON property_people
   USING gin (search_name gin_trgm_ops);

该索引可以与类似条件的条件一起使用

WHERE search_names LIKE '%amel Me%'