@toly19

Как сделать поиск с лишним словом в postgresql?

Добрый день!
В таблице есть 2 записи:
id, some_name
1, привет мир
2, привет замечательный мир

Как можно сделать, чтобы поиск по строке привет замечательный мир выдавал и 1 и 2 строку?
Сейчас запрос выгляди примерно так:
select * from my_data where to_tsvector(some_name) @@ to_tsquery('привет замечательный мир');

И соответственно получаю выборку только 2 строки. Что такого можно сделать, чтобы первая строка тоже попала в выборку?
  • Вопрос задан
  • 74 просмотра
Пригласить эксперта
Ответы на вопрос 2
@rPman
замени слово которое не важно на символ % и условие должно быть where field like 'xxx % yyy'
Ответ написан
@galaxy
Ну наверное так:
select * from my_data  where to_tsvector(some_name) @@ to_tsquery('привет | замечательный | мир');

tsquery поддерживает операторы &, |, !, <-> и группировку скобками.
https://www.postgresql.org/docs/current/datatype-t...
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы