これはPGroonga 2.X and 3.X用のドキュメントです。古いPGroongaを使っているならPGroonga 1.xのドキュメントを見てください。
pgroonga_normalize
関数2.0.3で追加
pgroonga_normalize
関数はGroongaのノーマライザーモジュールを使ってテキストをノーマライズします。
この関数の構文は次の通りです。
text pgroonga_normalize(target)
target
はノーマライズ対象となるtext
型の値です。処理にあたっては、デフォルトでは組み込みのNormalizerAuto
ノーマライザーを使います。
この関数の別の構文は次の通りです。
text pgroonga_normalize(target, normalizer)
normalizer
はtext
型の値です。使用するノーマライザーモジュールを指定します。
text
型の値をノーマライズします。
SELECT pgroonga_normalize('aBcDe 123');
-- pgroonga_normalize
-- --------------------
-- abcde 123
-- (1 row)
ノーマライザーを指定できます。
SELECT pgroonga_command('plugin_register normalizers/mysql');
SELECT pgroonga_normalize('aBcDe 123', 'NormalizerMySQLGeneralCI');
-- pgroonga_normalize
-- --------------------
-- ABCDE 123
-- (1 row)
groonga-normalizer-mysqlを使うためにplugin_register normalizers/mysql
を実行しています。groonga-normalizer-mysqlはMySQL互換のノーマライザーを提供します。
ノーマライザーのオプションも指定できます。
SELECT pgroonga_normalize('あア', 'NormalizerNFKC130("unify_kana", true)');
-- pgroonga_normalize
-- --------------------
-- ああ
-- (1 row)
複数のノーマライザーを指定することもできます。以下は実用的ではない例です。
SELECT pgroonga_normalize('あー-ア',
'
NormalizerNFKC130("unify_kana", true),
NormalizerNFKC130("unify_hyphen_and_prolonged_sound_mark", true)
'
);
-- pgroonga_normalize
-- --------------------
-- あ--あ
-- (1 row)