これはPGroonga 1.X用のドキュメントです。新しいPGroongaを使っているならPGroonga 2.xのドキュメントを見てください。
&^
演算子1.2.1で追加。
1.2.1からtext[]
用の&^>
演算子は非推奨になりました。代わりに&^
演算子を使ってください。
&^
演算子は前方一致検索を実行します。
前方一致検索は入力補完機能を実現する場合に便利です。
column &^ prefix
column
は検索対象のカラムです。型はtext
型かtext[]
型です。
prefix
は含まれているべきプレフィックスです。text
型です。
column
の値がprefix
から始まっていればtrue
を返します。
この演算子を使うには次のどれかの演算子クラスを指定する必要があります。
pgroonga.text_term_search_ops_v2
:text
用
pgroonga.text_array_term_search_ops_v2
:text[]
用
例に使うサンプルスキーマとデータは次の通りです。
CREATE TABLE tags (
name text PRIMARY KEY
);
CREATE INDEX pgroonga_tag_name_index ON tags
USING pgroonga (name pgroonga.text_term_search_ops_v2);
INSERT INTO tags VALUES ('PostgreSQL');
INSERT INTO tags VALUES ('Groonga');
INSERT INTO tags VALUES ('PGroonga');
INSERT INTO tags VALUES ('pglogical');
&^
演算子を使うと指定したプレフィックスで前方一致検索を実行できます。
SELECT * FROM tags WHERE name &^ 'pg';
-- name
-- -----------
-- PGroonga
-- pglogical
-- (2 rows)