すべてのプロダクト
Search
ドキュメントセンター

PolarDB:設定例

最終更新日:Jun 03, 2024

テキスト検索設定では、ドキュメントをtsvectorに変換するために必要なすべてのオプションを指定します。これは、テキストをトークンに分解するために使用するパーサーと、各トークンを語彙素に変換するために使用する辞書です。 to_tsvectorまたはto_tsqueryのすべての呼び出しには、その処理を実行するためのテキスト検索設定が必要です。 設定パラメーターdefault_text_search_configは、デフォルト設定の名前を指定します。これは、明示的な設定パラメーターが省略されている場合にテキスト検索関数によって使用される名前です。 postgresql.confで設定することも、setコマンドを使用して個々のセッションに設定することもできます。

定義済みのテキスト検索設定がいくつかあり、カスタム設定を簡単に作成できます。 テキスト検索オブジェクトの管理を容易にするために、一連のSQLコマンドが利用可能であり、テキスト検索オブジェクトに関する情報を表示するいくつかのpsqlコマンドがあります。

例として、組み込みの英語設定を複製することから始めて、設定pgを作成します。

テキスト検索構成の作成public.pg ( COPY = pg_catalog.english );

PostgreSQL固有のシノニムリストを使用し、$SHAREDIR/tsearch_data/pg_dict.synに保存します。 ファイルの内容は次のようになります。

postgres pg
    pgsql pg
    postgresql pg 

シノニム辞書は次のように定義します。

テキスト検索辞書pg_dictを作成 (
        TEMPLATE = synonym,
        SYNONYMS = pg_dict
    );

次に、独自の設定ファイルを持つ英語_Ispell辞書を登録します。

テキスト検索の作成辞書english_ispell (
        TEMPLATE = ispell,
        DictFile=英語、
        AffFile=英語、
        StopWords=英語
    );

これで、構成pgの単語のマッピングを設定できます。

ALTERテキスト検索構成ページ
        asciiword、asciihword、hword_asciipart、
                          word、hword、hword_part
        pg_dict、english_ispell、english_stem; 

組み込み設定が処理するいくつかのトークンタイプにインデックスを付けたり検索したりしないことを選択します。

ALTERテキスト検索構成ページ
        メール、url、url_path、swfloat、float; 
のドロップマッピング

これで構成をテストできます:

SELECT * FROM ts_debug('public.pg', '
    PostgreSQL、高度にスケーラブルでSQLに準拠したオープンソースのオブジェクトリレーショナル
    データベース管理システムは、次のベータテストを受けています
    私達のソフトウェアの版。
    ');

次のステップでは、publicスキーマで作成された新しい構成を使用するようにセッションを設定します。

=> \dF
       テキスト検索設定のリスト
     スキーマ | 名前 | 説明
    ---------+------+-------------
     パブリック | pg |

    SET default_text_search_config = 'public.pg';
    SET

    ショーdefault_text_search_config;
     default_text_search_config
    ----------------------------
     public.pg