無料スクリプト配布のPHP.TO   PHPの実用的なtips PHPマニュアル MySQLマニュアル Apacheマニュアル PostgreSQLマニュアル マニュアル検索    

F.10. dict_int

dict_int は、全文検索用の辞書テンプレートの追加例です。 この辞書例の目的は、検索性能に大きく影響する一意な単語数の急激な増大を防ぎながら、こうした数のインデックス付けを行うことができるように、整数(符号付きおよび符号無)のインデックス付けを制御することです。

F.10.1. 設定

この辞書は2つのオプションを受け付けます。

  • maxlen パラメータは整数型の単語で許される最大桁数を指定します。 デフォルト値は6です。

  • rejectlong パラメータは、桁数を超える整数を切り詰めるか無視するかを指定します。 rejectlong false (デフォルト)ならば、辞書は整数の先頭の maxlen 桁を返します。 rejectlong true ならば、辞書は桁数を超えた整数をストップワードとして扱います。 このためインデックス付けされません。 これはまた、こうした整数を検索することができないことを意味します。

F.10.2. 使用方法

dict_int 拡張機能をインストールすると、 intdict_template テキスト検索テンプレートとこれに基づき、そのデフォルト値で intdict 辞書が作成されます。 以下のようにパラメータを変更することができます。

mydb# ALTER TEXT SEARCH DICTIONARY intdict (MAXLEN = 4, REJECTLONG = true);
ALTER TEXT SEARCH DICTIONARY

または、このテンプレートを基に新しい辞書を作成してください。

辞書を試験するためには以下を試してください。

mydb# select ts_lexize('intdict', '12345678');
 ts_lexize
-----------
 {123456}

しかし、現実世界で使用する場合は、 第12章 で説明されるテキスト検索設定内にこれを含むようになるでしょう。 以下のようになります。

ALTER TEXT SEARCH CONFIGURATION english
    ALTER MAPPING FOR int, uint WITH intdict;


powered by SEO.CUG.NET