我已经创建了一个用于测试文本搜索的表:
CREATE TABLE test (id integer Primary key, the_text varchar(15));
然后插入随机值:
INSERT INTO test VALUES (generate_series(1,10000000),md5(random()::varchar(15)));
我想在此表中使用前缀,后缀和中缀搜索。据说使用带有text_pattern_ops的btree索引更适合前缀搜索,但btree对像LIKE %word%
这样的中缀搜索不起作用。我被建议使用pg_trgm索引。在这种情况下我应该使用两个不同的索引吗?