私のテーブル「製品」には、「キーワード」という名前の列があります。
次のように定義されています。
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
問題は、このクエリでは、keywords[] の最初のインデックスのみが検索されることです。
だから私の前の例から:
{music,rock,mp3,nirvana}
「music」である最初のインデックスのみを検索し、配列全体を検索しません。
この配列にクエリを実行して FULL ARRAY を検索するにはどうすればよいですか?
ありがとう!