(1)あなたは、たとえば、ストップワードファイルを使用せずにカスタム辞書を作成することができます
CREATE TEXT SEARCH DICTIONARY english_stem_nostop (
Template = snowball
, Language = english
);
注意を、私は取り残さ上記にStopWords
パラメータ。
(2)次に、あなたの新しい辞書を使用するために新しい構成を作成します。
CREATE TEXT SEARCH CONFIGURATION public.english_nostop (COPY = pg_catalog.english);
ALTER TEXT SEARCH CONFIGURATION public.english_nostop
ALTER MAPPING FOR asciiword, asciihword, hword_asciipart, hword, hword_part, word WITH english_stem_nostop;
(3)次に、(あるいはあなたがdefault_text_search_config
オプションを毎回変更することができます)あなたが使用したい設定を指定して検索するときに、例えば:
SELECT
title
FROM
articles
WHERE
to_tsvector('english_nostop', COALESCE(title,'') || ' ' || COALESCE(body,''))
@@ to_tsquery('english_nostop', 'how & to');
あなたは、通常の設定を使用するには、上記SQLでちょうど'english'
を指定することができます。
のみストップワードがあるので、標準的な設定を使用して通知をもたらすであろうことを注意、この例では
クマは念頭に置いただし、以下:
- あなたはインデックスを使用している場合は、次の2つが必要になります - 構成ごとに1を。 (これらのドキュメント:tsearch tablesとtriggersを参照してください)。
- 上記の手順#2(「Parsers」を参照)に従って、このマッピングを使用するパーサートークンを再度確認します。
ありがとう、catchdave - それは私が探していたものです。 – tomd