pg_textsearch is a production-ready PostgreSQL extension (v1.0.0) by Timescale that brings BM25 relevance-ranked full-text search to Postgres. It introduces a custom `bm25` index type and a `<@>` operator for intuitive ranked queries. Key features include Block-Max WAND optimization for fast top-k queries, parallel index builds, partitioned table support, configurable BM25 parameters (k1, b), and multi-language text search configurations. The extension uses a memtable/LSM-like segment architecture with force-merge support. Known limitations include no phrase queries, no expression indexing, no background compaction, and partition-local statistics for cross-partition queries.
Table of contents
Historical notePostgreSQL Version CompatibilityInstallationGetting StartedQueryingIndexingData TypesPerformanceMonitoringExamplesLimitationsTroubleshootingInstallation NotesReferenceExtension CompatibilityContributingSort: