Скажем, у вас есть таблица postgres 8.3 следующим образом:
CREATE TABLE t1 (body text, body_vector tsvector);
Я хочу, чтобы иметь возможность искать его для фраз, используя полный текстовый индекс (GiST, GiN или оба в столбце tsvector). Лучшее обходное решение, которое я смог найти, - это сначала выполнить полный текстовый поиск по обоим словам (логический И), а затем выполнить аналогичное сравнение в теле для этой фразы. Конечно, это не позволяет зафиксировать какие-либо проверки или проверки орфографии, что для вас полнотекстовый поиск postgres. Например, если я ищу фразу 'w1 w2', я бы использовал:
SELECT * FROM t1 WHERE body_vector @@ 'w1 & w2'::tsquery AND body LIKE 'w1 w2';
Есть ли способ сделать это, когда вам не нужно прибегать к поиску в текстовом столбце?