これはPGroonga 2.X用のドキュメントです。古いPGroongaを使っているならPGroonga 1.xのドキュメントを見てください。

&^演算子

1.2.1で追加。

概要

1.2.1からtext[]用の&^>演算子は非推奨になりました。代わりに&^演算子を使ってください。

&^演算子は前方一致検索を実行します。

前方一致検索は入力補完機能を実現する場合に便利です。

構文

column &^ prefix

columnは検索対象のカラムです。型はtext型かtext[]型です。

prefixは含まれているべきプレフィックスです。text型です。

columnの値がprefixから始まっていればtrueを返します。

演算子クラス

この演算子を使うには次のどれかの演算子クラスを指定する必要があります。

使い方

例に使うサンプルスキーマとデータは次の通りです。

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)

参考