TGViewer
Devs Hive Devs Hive @devshive · 1.41K subscribers
Post #194 1.06K
Elasticsearch більше не нужонний! 😱😱😱

Заява, звісно, доволі гучна, але зараз усе розпишу. Любителі PostgreSQL, робіть кохве - зараз буде цікаво ☕️

У 2026 році Tiger Data оголосила про production-ready реалізацію BM25 у PostgreSQL - pg_textsearch.

BM25 - це алгоритм ранжування результатів повнотекстового пошуку за релевантністю. Простими словами, він визначає, які документи найкраще відповідають пошуковому запиту, і показує їх першими.

В цілому, PostgreSQL має повнотекстовий пошук з коробки, якого достатньо для більшості простих кейсів. Але коли потрібен ranking за релевантністю чи top-K search, стандартного пошуку вже недостатньо.

У таких випадках раніше часто використовували сторонні search engines, наприклад Elasticsearch або Solr. Вони створюють власні пошукові індекси, а дані з PostgreSQL постійно туди реплікуються. Такий підхід створював дуже багато проблем з синхронізацією і eventual consistency.

З появою pg_textsearch у багатьох випадках можна відмовитися від сторонніх пошукових сервісів і реалізувати складніший пошук безпосередньо в PostgreSQL. Звичайно, для дуже складних сценаріїв все ще можуть знадобитися спеціалізовані рішення по типу Elasticsearch, але на практиці вони зустрічаються не так часто.

Також, pg_textsearch можна комбінувати з pgvector для гібридного пошуку.

📎 - https://github.com/timescale/pg_textsearch
GitHub GitHub - timescale/pg_textsearch: PostgreSQL extension for BM25 relevance-ranked full-text search. Postgres OSS licensed. PostgreSQL extension for BM25 relevance-ranked full-text search. Postgres OSS licensed. - timescale/pg_textsearch
  • 👍 14
  • 🔥 5
  • ❤ 4
More from @devshive
  1. Oct 7, 2026Post #289
  2. Oct 7, 2026Post #288
  3. Oct 6, 2026Цікаве оновлення в Nest.js 🔥 Вони випиляли Axios з HTTP клієнта і тепер використовують na…
  4. Oct 6, 2026Ще одне практичне застосування Jev - jevgrep 🤯☕️ Це інструмент для пошуку потрібного коду…
  5. Oct 5, 2026Post #285
  6. Oct 4, 2026Дуже багато відповіли, що Promise виконає обчислення в окремому потоці 🚬 Треба робити від…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →