В моей таблице «продукты» У меня есть столбец с именем «ключевые слова».PostgreSQL ищет все индексы массива
Он определяется следующим образом:
CREATE TABLE products (
id integer,
keywords character varying[]
//rest of the definition ommited for clarity
);
Запись в категории столбцов может выглядеть следующим образом:
{music,rock,mp3,nirvana}
Я пытаюсь реализовать AJAX функции поиска на моем сайте, где на каждое нажатие клавиши вызывает функцию поиска.
Если пользователь пишет «m», я бы хотел, чтобы он запрашивал базу данных и возвращал строку, в которой массив столбцов «keywords» содержит что-либо подобное.
Вот запрос я использую прямо сейчас:
SELECT * FROM products WHERE keywords[1] SIMILAR TO $queryString
Проблема заключается в том, что с этим запросом только первый индекс ключевых слов [] получает поиск.
Так из моего предыдущего примера:
{music,rock,mp3,nirvana}
Это поиск только первый индекс, который является «музыка», он не ищет весь массив.
Как я могу запросить этот массив для поиска по FULL ARRAY?
Спасибо!
Интересно я получаю синтаксис ошибка для этого запроса. Это сообщение об ошибке: Ошибка запроса: ERROR: ошибка синтаксиса в точке «ЛЮБОЕ» или рядом с ней. Что может быть неправильным? – PeterInvincible