Postgresql部分索引超过最大索引行大小

时间:2017-01-23 16:50:01

标签: postgresql indexing

我正在尝试创建一个部分索引来加速postgresql数据库中的全文搜索。

CREATE INDEX book_search_not_null_index ON books(description) WHERE description IS NOT NULL;  

尝试创建索引时出现以下错误:

index row requires 16016 bytes, maximum size is 8191

有些描述很长,超出了索引的行限制。我想从索引中得到的只是确保我不会在我的搜索中考虑没有描述的书籍(大约10%的描述为空)。有没有办法解决这个限制或更好的方法来构建这个索引?

1 个答案:

答案 0 :(得分:1)

使用GIN indexes for full text search

create index book_search_not_null_index ON books 
using GIN (to_tsvector('english', description))
where description is not null