Full Text Search

on searching text stored in databases

Created: by Pradeep Gowda Updated: Oct 08, 2023 Tagged: full-text-search

PostgreSQL

pg_bm25: Elastic-Quality Full Text Search Inside Postgres - ParadeDB > pg_bm25 is named after BM25, the algorithm used by modern search engines to calculate the relevance scores of search results

pg_bm25 aims to bridge the gap between the native capabilities of Postgres’ full text search and those of a specialized search engine like ElasticSearch. The goal is to eliminate the need to bring a cumbersome service like ElasticSearch into the data stack.

Built on top of Tantivy, a Rust-based alternative to the Apache Lucene search library

Support for fuzzy search, aggregations, highlighting, and relevance tuning

Relevance scoring uses BM25, the same algorithm used by ElasticSearch Real-time search — new data is immediately searchable without manual reindexing