これはPGroonga 2.X and 3.X用のドキュメントです。古いPGroongaを使っているならPGroonga 1.xのドキュメントを見てください。
&>
演算子1.2.1で追加。
&>
演算子は単語の配列中に指定した単語が含まれているかどうかをチェックします。
column &> term
column
は検索対象のカラムです。型はvarchar[]
型です。
term
は検索条件の単語です。型はvarchar
です。
この演算子を使うには次のどれかの演算子クラスを指定する必要があります。
pgroonga_varchar_array_term_search_ops_v2
:varchar[]
型のデフォルト
pgroonga_varchar_array_ops
:varchar[]
用
例に使うサンプルスキーマとデータは次の通りです。
CREATE TABLE memos (
id integer,
tags varchar(255)[]
);
CREATE INDEX pgroonga_tags_index ON memos USING pgroonga (tags);
INSERT INTO memos VALUES (1, ARRAY['PostgreSQ']);
INSERT INTO memos VALUES (2, ARRAY['Groonga']);
INSERT INTO memos VALUES (3, ARRAY['PGroonga', 'PostgreSQL', 'Groonga']);
INSERT INTO memos VALUES (4, ARRAY['Groonga']);
&>
演算子を使うと単語の配列中から'Groonga'
という単語を含むレコードを検索できます。
SELECT * FROM memos WHERE tags &> 'Groonga';
-- id | tags
-- ----+-------------------------------
-- 2 | {Groonga}
-- 3 | {PGroonga,PostgreSQL,Groonga}
-- 4 | {Groonga}
-- (3 rows)