Postgresql 为什么在创建GIN索引时出错?
我创建了一个表来调查文本搜索,并使用GIST和GIN索引:Postgresql 为什么在创建GIN索引时出错?,postgresql,Postgresql,我创建了一个表来调查文本搜索,并使用GIST和GIN索引: CREATE TABLE test ( id serial NOT NULL, the_text text, CONSTRAINT test_pkey PRIMARY KEY (id) ) 并添加了一些随机值: insert into test values (generate_series(1,100000), md5(random()::text)) 并希望创建GIN索引: create index on test
CREATE TABLE test
(
id serial NOT NULL,
the_text text,
CONSTRAINT test_pkey PRIMARY KEY (id)
)
并添加了一些随机值:
insert into test values (generate_series(1,100000), md5(random()::text))
并希望创建GIN索引:
create index on test using gin(the_text);
但我有一个错误:
错误:数据类型文本没有访问方法“gist”的默认运算符类
你能帮我吗?用于搜索:
CREATE INDEX test_gin_idx ON test USING gin (to_tsvector('english', the_text));
对于三角图搜索,您可以使用pg\u trgm
扩展名
CREATE EXTENSION pg_trgm;
CREATE INDEX test_the_text_gin_idx ON test USING GIN (the_text gin_trgm_ops);
您还需要启用
:btree\u gin
或:btree\u gist
,因为这是创建索引的某种依赖关系。以下内容对我起到了作用,并修复了消息错误:数据类型text没有访问方法“gin”的默认运算符类
CREATE EXTENSION pg_trgm;
CREATE EXTENSION btree_gin;
CREATE INDEX index_email_gin ON users USING GIN (email);