@Oooopps

Как реализовать поиск в postgresql с Sequelize, в котором будет поиск в ячейке по словам в различном порядке?

Допустим есть константа variants = ['one', 'two']

Есть таблица PostgreSQL
id | name | variants
0 | foo | one
1 | bar | two one
2 | foobar | one two

Нужно найти такие строки, в которых будет и 'one' и 'two', не зависимо от порядка.
Пример variants = ['one', 'two'] -> 1,2
Пример variants = ['two', 'one'] -> 1,2
Пример variants = ['one'] -> 0,1,2
Пример variants = ['two'] -> 1,2
Я пробовал
model = await Item.findAndCountAll({
                    where: sequelize.where(sequelize.fn('regexp_split_to_array', sequelize.fn('lower', sequelize.col('variants')), '\\s+'),
                        '@>',
                        variants)})

Но это почему-то не работает
  • Вопрос задан
  • 123 просмотра
Пригласить эксперта
Ответы на вопрос 1
mayton2019
@mayton2019
Bigdata Engineer
Нужно найти такие строки, в которых будет и 'one' и 'two', не зависимо от порядка

Это задача на full text search. Начни читать отсюда

https://www.postgresql.org/docs/current/textsearch...
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы