在我的表“产品”中,我有一个名为“关键字”的列。
它是这样定义的:
CREATE TABLE products (
id integer,
keywords character varying[]
//rest of the definition ommited for clarity
);
列类别中的记录可能如下所示:
{music,rock,mp3,nirvana}
我正在尝试在我的网站上实现一个 ajax 搜索功能,每次按键都会调用一个搜索功能。
如果用户正在写“m”,我希望它查询数据库并检索“关键字”列的数组中包含类似内容的行。
这是我现在正在使用的查询:
SELECT * FROM products WHERE keywords[1] SIMILAR TO $queryString
问题是这个查询只搜索关键字[] 的第一个索引。
所以从我之前的例子:
{music,rock,mp3,nirvana}
它只搜索第一个索引,即“音乐”,而不搜索整个数组。
如何查询此数组以搜索整个数组?
谢谢!