Заява, звісно, доволі гучна, але зараз усе розпишу. Любителі 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