全文検索の使い方

文書を単語で探す

書き方

to_tsvector('english', 本文) @@ to_tsquery('english', '語 & 語')
plainto_tsquery('english', '語 語')
ts_rank(tsvector, tsquery)

to_tsvector は文を単語(語の元の形)に分け、to_tsquery は探す条件(& は かつ、| は または、! は でない)を作ります。@@ で合うか調べます。running と run のように形が変わっても見つかります。

例

SELECT title FROM docs WHERE to_tsvector('english', body) @@ to_tsquery('english', 'dragon & fire');

実際に打って練習する

PostgreSQL コースの Lv24「言葉で探す 全文検索」で覚えます。ブラウザの中のシミュレーターで、本物と同じように打って確かめられます。

Lv1〜2 はログインすると無料で試せます(それより先はゴールド以上のプランで遊べます)。

PostgreSQL の構文一覧(psql・JSONB・PL/pgSQL)へ戻る