Задать вопрос
@toly19

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

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

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

И соответственно получаю выборку только 2 строки. Что такого можно сделать, чтобы первая строка тоже попала в выборку?
  • Вопрос задан
  • 78 просмотров
Подписаться 1 Сложный Комментировать
Помогут разобраться в теме Все курсы
  • Нетология
    Python-разработчик: расширенный курс + нейросети
    12 месяцев
    Далее
  • Академия Эдюсон
    Python-разработчик + ИИ
    9 месяцев
    Далее
  • ProductStar × РБК
    Профессия DevOps-инженер + ИИ
    5 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 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...
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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