我有一个通过GIN索引建立索引的数组列match_input_search_names
。当我运行以下查询时,返回正确的结果:
SELECT * FROM property_people WHERE search_names @> '{Camel Meal}';
但是,我想使用部分匹配%来搜索我的列,如下所示:
SELECT * FROM property_people WHERE search_names @> '{%amel Me%}';
答案 0 :(得分:1)
用全文本搜索无法做到。
您应该
CREATE EXTENSION pg_trgm;
那么你可以
CREATE INDEX ON property_people
USING gin (search_name gin_trgm_ops);
该索引可以与类似条件的条件一起使用
WHERE search_names LIKE '%amel Me%'