Full-text search (FTS) — поиск по тексту с пониманием языка: учитывает словоформы, стоп-слова, ранжирует по релевантности. В PostgreSQL: создаёшь tsvector из текста (токенизация + нормализация), строишь GIN-индекс, ищешь через tsquery. Запрос "бежать" найдёт "бегу", "бежал", "бежит". Можно задавать веса полям (заголовок важнее тела) и комбинировать операторами (AND, OR, NOT). Для Go: отправляешь SQL-запрос с ts_rank для сортировки по релевантности. PostgreSQL FTS покрывает 80% потребностей, для оставшихся 20% — Elasticsearch.