Типы tsvector и tsquery, функции to_tsvector, to_tsquery, plainto_tsquery; оператор @@. GIN-индекс по tsvector ускоряет поиск. В Go формируют запрос с условием: WHERE to_tsvector('russian', body) @@ plainto_tsquery('russian', $1), передают строку поиска. Конфигурация языка задает стемминг и стоп-слова.
rows, err := db.QueryContext(ctx,
"SELECT * FROM articles WHERE to_tsvector('russian', body) @@ plainto_tsquery('russian', $1)", query)