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

AnalyticDB:pg_jieba

最終更新日:Aug 14, 2026

pg_jieba 拡張は、Jieba の中国語の単語分割機能を AnalyticDB for PostgreSQL に導入し、分散データに対する効率的な中国語の全文検索を可能にします。

前提条件

開始する前に、次のことを確認してください。

  • AnalyticDB for PostgreSQL インスタンスが弾性ストレージモードであること

  • マイナーバージョンが最小要件を満たしていること:

    • AnalyticDB for PostgreSQL V6.0:6.6.2.1 以降

    • AnalyticDB for PostgreSQL V7.0:Nova BM25 の使用を推奨します。

マイナーバージョンを確認するには、マイナーエンジンバージョンの表示をご参照ください。

pg_jieba のインストール

  1. AnalyticDB for PostgreSQL コンソールの [Extensions] ページで、pg_jieba 拡張をインストールします。詳細は、拡張機能のインストール、更新、アンインストールをご参照ください。

  2. 対象データベースの public スキーマに切り替えて、次の文を実行してインストールを確認します。

    SELECT * FROM pg_extension WHERE extname = 'pg_jieba';

    拡張機能がインストールされている場合、次のように出力されます。

    +--------+--------+--------+--------+
    |oid     |extname |extowner|...     |
    +--------+--------+--------+--------+
    |17194   |pg_jieba|10.     |...     |
    +--------+--------+--------+--------+

    行が返されない場合、拡張機能はそのデータベースの public スキーマにインストールされていません。

中国語の単語分割の実行

pg_jieba は、jiebacfg テキスト検索設定を登録します。中国語のテキストを分割するには、jiebacfgto_tsvector または to_tsquery の最初の引数として渡します。

テキストを tsvector に分割:

SELECT to_tsvector('jiebacfg', '有两种方法进行全文检索');

結果:

+---------------------------------------+
|               to_tsvector             |
+---------------------------------------+
|'两种':2 '全文检索':5 '方法':3 '进行':4   |
+---------------------------------------+
(1 row)

全文検索クエリの実行:

SELECT to_tsvector('jiebacfg', '有两种方法进行全文检索') @@ to_tsquery('jiebacfg', '全文检索');

結果:

+----------+
| ?column? |
+----------+
| t        |
+----------+
(1 row)

カスタム辞書の使用

デフォルトでは、pg_jieba は組み込みの辞書を使用します。ドメイン固有の用語 (製品名、専門用語、複合語など) は、分割されずに単一のトークンとして扱われるように、カスタム辞書に追加してください。

pg_jieba をインストールすると、jieba.jieba_custom_word テーブルが次のスキーマで自動的に作成されます。

CREATE TABLE jieba.jieba_custom_word
(
    word    text primary key,     -- カスタム単語
    weight  float8 default '1.0', -- 重み
    type    text   default 'x'    -- 品詞
);

アクセス権の申請

jieba.jieba_custom_word テーブルへの書き込み権限を申請するには、チケットを送信してください。

カスタム単語の管理

単語の追加:

INSERT INTO jieba.jieba_custom_word values('两种方法');

単語の削除:

DELETE FROM jieba.jieba_custom_word WHERE word='两种方法';

テーブルのクエリ:

SELECT * FROM jieba.jieba_custom_word;

辞書の再読み込み

単語を追加または削除した後、変更を有効にするために辞書を再読み込みする必要があります。この手順を実行しないと、分割結果は変更されません。

SELECT jieba.jieba_load_user_dict();

分割結果の検証

再読み込みの前後で同じクエリを実行し、効果を確認します。

SELECT to_tsvector('jiebacfg', '有两种方法进行全文检索');

シナリオ

結果

カスタム辞書適用前

'两种':2 '全文检索':5 '方法':3 '进行':4

两种方法 を追加して再読み込みした後

'两种方法':2 '进行':3 '全文检索':4

カスタム辞書が読み込まれると、两种方法两种方法 に分割されず、単一のトークンとして扱われます。

次のステップ