Conference Schedule - PGConf.EU 2013

Next generation of GIN

Date: 2013-10-31
Time: 13:40 - 14:30
Room: Pembroke
Level: Intermediate

This talk presents set of advances which significantly improves GIN index. Their primary target is to make full-text search (FTS) in PostgreSQL to be as fast as it's in stand-alone solutions such as Sphinx and Solr. However it has many other applications.

The set of advances is following: Compression of item pointers in index Store additional information in posting trees and posting lists Fast scan: skip parts of posting trees during scan Sorting result in index

These advances in GIN leads to following benefits to GIN indexes: Indexes will become about 2 time smaller without any work in opclass. Usage of additional information for filtering enables new features for GIN opclasses: better phrase search, better array similarity search, inverse FTS search (search for tsqueries matching tsvector), inverse regex search (search for regexes matching string), better string similarity using positioned n-grams. Fast scan dramatically GIN search in "frequest_term & rare_term" case. Usage of additional information for sorting in index accelerates ranking in FTS and dramatically reduces its IO.

We present the results of benchmarks for FTS using several datasets (6 M and 15 M documents) and real-life load for PostgreSQL and Sphinx full-text search engines and demonstrate that improved PostgreSQL FTS (with all ACID overhead) outperforms the standalone Sphinx search engine.


Alexander Korotkov
Oleg Bartunov

Platinum Sponsors


Gold Sponsors


Silver Sponsors