This article explains how inverted indexes power full-text search in databases like Postgres. Unlike b-trees that work on entire column values, inverted indexes map individual words to document locations, enabling efficient searches for terms anywhere in text fields. The index consists of a term dictionary and postings lists that store compressed document identifiers.
Tin is a new full-text search extension for Postgres that supports Boolean expressions, fuzzy matching, phrase queries, and BM25 scoring while handling joins, updates, and replication. The developers benchmarked Tin against existing alternatives using large corpora including Wikipedia and Stack Exchange data, finding it significantly faster across conjunction, disjunction, and phrase query workloads.
TIN is a new full-text search extension for Postgres that supports boolean expressions, fuzzy matching, BM25 scoring, and concurrent updates while maintaining transaction visibility. The announcement includes benchmarks showing TIN's performance across various query types and large text corpora, addressing limitations in existing Postgres text-search indexes.