test_parser

PostgreSQL 9.0.0文書
前のページ | 巻戻し | 付録 F. 追加で提供されるモジュール | 早送り | 次のページ

# F.37. test_parser

`test_parser`は、全文検索用の独自パーサの例です。 これは特に有用なことはまったく行いませんが、独自パーサ開発の開始点として提供することができます。

`test_parser`は空白で区切られた単語を認知し、2つのトークン種類だけを返します。

    mydb=# SELECT * FROM ts_token_type('testparser');
     tokid | alias |  description
    -------+-------+---------------
         3 | word  | Word
        12 | blank | Space symbols
    (2 rows)

これらのトークン数はデフォルトパーサの数え方と互換性があるように選択されました。 これにより、`headline()`関数として使用することができますますので、例を単純にしています。

## F.37.1. 使用方法

インストールスクリプトを実行すると、`testparser`テキスト検索パーサが作成されます。 ユーザが設定可能なパラメータはありません。

例えば、このパーサを試験することができます。

    mydb=# SELECT * FROM ts_parse('testparser', 'That''s my first own parser');
     tokid | token
    -------+--------
         3 | That's
        12 |
         3 | my
        12 |
         3 | first
        12 |
         3 | own
        12 |
         3 | parser

実際に使用する場合は、このパーサを使用するテキスト検索設定の構築が必要です。 以下に例を示します。

    mydb=# CREATE TEXT SEARCH CONFIGURATION testcfg ( PARSER = testparser );
    CREATE TEXT SEARCH CONFIGURATION

    mydb=# ALTER TEXT SEARCH CONFIGURATION testcfg
    mydb-#   ADD MAPPING FOR word WITH english_stem;
    ALTER TEXT SEARCH CONFIGURATION

    mydb=#  SELECT to_tsvector('testcfg', 'That''s my first own parser');
              to_tsvector
    -------------------------------
     'that':1 'first':3 'parser':5
    (1 row)

    mydb=# SELECT ts_headline('testcfg', 'Supernovae stars are the brightest phenomena in galaxies',
    mydb(#                    to_tsquery('testcfg', 'star'));
                               ts_headline
    -----------------------------------------------------------------
     Supernovae <b>stars</b> are the brightest phenomena in galaxies
    (1 row)

前のページ | ホーム | 次のページ
tablefunc | 上に戻る | tsearch2