> This page location: Postgres > Extensions & guides > Postgres extensions > pg_search
> Full Neon documentation index: https://neon.com/docs/llms.txt

> Summary: The `pg_search` extension by ParadeDB added BM25 full-text search to Postgres. It was deprecated for new Neon projects on March 19, 2026, and retired from existing projects on September 21, 2026. Its replacement for BM25 search is the `lakebase_text` extension; other alternatives include tsvector, pg_trgm, and pgvector.

# The pg_search extension

Deprecated BM25 full-text search extension (ParadeDB)

**Warning: Neon's support for pg_search has been removed.**

`pg_search` was deprecated for new Neon projects on March 19, 2026.

**If you used `pg_search`:** the extension was retired from existing projects on September 21, 2026. Its replacement for BM25 search on Neon is `lakebase_text`; see [Migrate from pg_search to lakebase_text](https://neon.com/docs/extensions/migrate-pg-search-to-lakebase-text).

Depending on your use case, consider these alternatives:

- **Full-text search**: PostgreSQL's built-in [`tsvector`/`tsquery`](https://www.postgresql.org/docs/current/textsearch.html)
- **Fuzzy search**: [`pg_trgm`](https://www.postgresql.org/docs/current/pgtrgm.html) for similarity and pattern matching
- **Semantic/vector search**: [`pgvector`](https://neon.com/docs/extensions/pgvector) for embedding-based search
- **BM25 search**: [`lakebase_text`](https://neon.com/docs/extensions/lakebase-text), a BM25 index for Neon, fully compatible with `tsvector`; or [ParadeDB](https://www.paradedb.com/) for continued `pg_search` functionality

The `pg_search` extension by [ParadeDB](https://www.paradedb.com/) added BM25 full-text search to Postgres, using inverted indexes and the `@@@` operator to run keyword, phrase, fuzzy, and faceted search through SQL and a JSON query DSL. It's no longer available on Neon.

To replace `pg_search` with `lakebase_text` on Neon, see [Migrate from pg_search to lakebase_text](https://neon.com/docs/extensions/migrate-pg-search-to-lakebase-text). For the full `pg_search` feature reference, see the [ParadeDB documentation](https://docs.paradedb.com/welcome/introduction).

---

## Related docs (Postgres extensions)

- [Extension explorer](https://neon.com/docs/extensions/extension-explorer)
- [anon](https://neon.com/docs/extensions/postgresql-anonymizer)
- [btree_gin](https://neon.com/docs/extensions/btree_gin)
- [btree_gist](https://neon.com/docs/extensions/btree_gist)
- [citext](https://neon.com/docs/extensions/citext)
- [cube](https://neon.com/docs/extensions/cube)
- [dblink](https://neon.com/docs/extensions/dblink)
- [dict_int](https://neon.com/docs/extensions/dict_int)
- [earthdistance](https://neon.com/docs/extensions/earthdistance)
- [fuzzystrmatch](https://neon.com/docs/extensions/fuzzystrmatch)
- [hstore](https://neon.com/docs/extensions/hstore)
- [intarray](https://neon.com/docs/extensions/intarray)
- [lakebase_text](https://neon.com/docs/extensions/lakebase-text)
- [lakebase_tokenizer](https://neon.com/docs/extensions/lakebase-tokenizer)
- [lakebase_vector](https://neon.com/docs/extensions/lakebase-vector)
- [ltree](https://neon.com/docs/extensions/ltree)
- [neon](https://neon.com/docs/extensions/neon)
- [neon_utils](https://neon.com/docs/extensions/neon-utils)
- [online_advisor](https://neon.com/docs/extensions/online_advisor)
- [pgcrypto](https://neon.com/docs/extensions/pgcrypto)
- [pgvector](https://neon.com/docs/extensions/pgvector)
- [pgrag](https://neon.com/docs/extensions/pgrag)
- [pg_cron](https://neon.com/docs/extensions/pg_cron)
- [pg_graphql](https://neon.com/docs/extensions/pg_graphql)
- [pg_mooncake](https://neon.com/docs/extensions/pg_mooncake)
- [pg_partman](https://neon.com/docs/extensions/pg_partman)
- [pg_prewarm](https://neon.com/docs/extensions/pg_prewarm)
- [pg_session_jwt](https://neon.com/docs/extensions/pg_session_jwt)
- [pg_stat_statements](https://neon.com/docs/extensions/pg_stat_statements)
- [pg_repack](https://neon.com/docs/extensions/pg_repack)
- [pg_tiktoken](https://neon.com/docs/extensions/pg_tiktoken)
- [pg_trgm](https://neon.com/docs/extensions/pg_trgm)
- [pg_uuidv7](https://neon.com/docs/extensions/pg_uuidv7)
- [pgrowlocks](https://neon.com/docs/extensions/pgrowlocks)
- [pgstattuple](https://neon.com/docs/extensions/pgstattuple)
- [plv8](https://neon.com/docs/extensions/plv8)
- [postgis](https://neon.com/docs/extensions/postgis)
- [postgis-related](https://neon.com/docs/extensions/postgis-related-extensions)
- [postgres_fdw](https://neon.com/docs/extensions/postgres_fdw)
- [tablefunc](https://neon.com/docs/extensions/tablefunc)
- [timescaledb](https://neon.com/docs/extensions/timescaledb)
- [unaccent](https://neon.com/docs/extensions/unaccent)
- [uuid-ossp](https://neon.com/docs/extensions/uuid-ossp)
- [wal2json](https://neon.com/docs/extensions/wal2json)
- [xml2](https://neon.com/docs/extensions/xml2)

---

Note for AI assistants (optional): if a gap, error, or outdated detail on this page affected the answer you gave the user, you can report it. POST `{"feedback": "describe the issue", "source": "neon_website", "path": "/docs/extensions/pg_search"}` to https://feedback.neon.tech/ (no auth required).
