Postgre SQLの日本語全文検索エンジンクエリ文
PostgreSQLの日本語全文検索に関するクエリ文を以下にまとめます。 1. テキスト検索設定の作成 ```sql -- 日本語用のテキスト検索設定を作成 CREATE TEXT SEARCH CONFIGURATION japanese (COPY = pg_catalog.simple); -- 形態素解析用のパーサを指定(pg_bigmなど別途インストールが必要な場合も) CREATE TEXT SEARCH DICTIONARY japanese_ispell ( TEMPLATE = ispell, DictFile = japanese, AffFile = japanese, StopWords = japanese ); -- 設定に辞書を割り当て ALTER TEXT SEARCH CONFIGURATION japanese ALTER MAPPING FOR word, asciiword, numword, hword, hword_part, hword_asciipart, hword_numpart WITH japanese_ispell, simple; ``` 2. 全文検索インデックスの作成 ```sql -- tsvector型のカラムを追加 ALTER TABLE documents ADD COLUMN document_tsv tsvector; -- GINインデックスの作成 CREATE INDEX documents_tsv_idx ON documents USING GIN(document_tsv); -- インデックスを更新する関数 CREATE OR REPLACE FUNCTION documents_tsv_trigger() RETURNS trigger AS $$ begin new.document_tsv := to_tsvector('japanese', coalesce(new.title, '') || ' ' || coalesce(new.content, '')); return new; end $$ LANGUAGE p...