表9.37「テキスト検索演算子」、 表9.38「テキスト検索関数」および 表9.39「テキスト検索デバッグ関数」は全文検索用に提供されている関数と演算子を要約しています。PostgreSQLのテキスト検索機能の詳細は12章全文検索を参照してください。
表9.37 テキスト検索演算子
| 演算子 | 説明 | 例 | 結果 |
|---|---|---|---|
@@ | tsvectorがtsqueryの条件に合うか? | to_tsvector('fat cats ate rats') @@ to_tsquery('cat & rat') | t |
@@@ | @@に対する廃止予定の同義語 | to_tsvector('fat cats ate rats') @@@ to_tsquery('cat & rat') | t |
|| | tsvectorを連結 | 'a:1 b:2'::tsvector || 'c:1 d:2 b:3'::tsvector | 'a':1 'b':2,5 'c':3 'd':4 |
&& | tsqueryにAND演算を行う | 'fat | rat'::tsquery && 'cat'::tsquery | ( 'fat' | 'rat' ) & 'cat' |
|| | tsqueryにOR演算を行う | 'fat | rat'::tsquery || 'cat'::tsquery | ( 'fat' | 'rat' ) | 'cat' |
!! | tsqueryを否定 | !! 'cat'::tsquery | !'cat' |
@> | tsqueryは他方を包含するか? | 'cat'::tsquery @> 'cat & rat'::tsquery | f |
<@ | tsqueryは他方に包含されるか? | 'cat'::tsquery <@ 'cat & rat'::tsquery | t |
tsqueryの包含演算子は2つの問い合わせで列挙された語彙素のみを対象とし、結合演算子を無視します。
表に示された演算子に加え、通常のB-tree比較演算子(=、<など)が、型tsvectorおよびtsqueryに対して定義されます。
これらはテキスト検索に対してそれほど有用ではありませんが、例えばこれらの型の列に一意インデックスを作成することを可能にします。
表9.38 テキスト検索関数
オプションのregconfig引数を受け付ける全てのテキスト検索関数は、その引数が省略された場合default_text_search_configで指定された構成を使用します。
表9.39「テキスト検索デバッグ関数」の関数は、日常のテキスト検索操作では通常使用されないので、別の表にしました。 これらは新しいテキスト検索設定の開発およびデバッグに役立ちます。
表9.39 テキスト検索デバッグ関数