[pgsql-jp: 39498] Re: insensitiveな日本語検索

山下 雄大 yamashita @ media-labo.co.jp
2008年 7月 14日 (月) 13:04:46 JST


山下です。

陶山さん、原田さん、情報ありがとうございます。

translateを使う方法でやってみます。

ありがとうございました。:−)






H.Harada さんは書きました:
> 以前こんなことをしたことがあります。
>
> where translate(query, 'あいうえおかきくけこさしすせそたちつてと...', 'アイウエオカキクケコサシスセソタチツテト...') =
> 	translate(name, 'あいうえおかきくけこさしすせそたちつてと...', 'アイウエオカキクケコサシスセソタチツテト...')
>
> 見にくいですが。
>
>
> 原田
>
> 2008/07/14 11:44 陶山 泰 <postgrml @ suyama.net>:
>   
>> 山下さん、こんにちは。陶山です。
>>
>>        Mon, 14 Jul 2008 11:36:58 +0900 の
>>        [pgsql-jp: 39495] Re: insensitiveな日本語検索
>>        に関するメールについてのお返事です。
>>
>> 山下 雄大> やはりクライアントアプリケーション or
>> 山下 雄大> サーバアプリケーション上でユーザより入力された値を
>> 山下 雄大> もとに
>> 山下 雄大>
>> 山下 雄大>   where name ~ '[とト][まマ][とト]';      (適当)
>> 山下 雄大>   where name ~ '^[とト][まマ][とト]$';    (厳密)
>> 山下 雄大>   where name ~ '^(トマト|とまと|トマと)$';(別解)
>> 山下 雄大>
>> 山下 雄大> のような文を作成しないとダメみたいですね。
>> 山下 雄大>
>> 山下 雄大> もっと楽できないものかと思っておりました :-(
>>
>> 私だったら(というかみんなそうだと思うけど)
>> クライアントアプリケーション or
>> サーバアプリケーション上でユーザより入力された値を
>> もとに
>>  'トマト' → 'トマト' (無変換)
>>  'とまと' → 'トマト'
>>  'トマと' → 'トマト'
>> とすべての文字をカタカナに変換しておき、
>> where name = 'トマト';
>>
>>  もしくは
>> データ入力時に専用桁(例えば keyVal)(DB作成時に作成)に、同じ変換を
>> 施した値を格納しておき
>> where keyVal = 'トマト';
>> とします。
>>
>>     
>
>
>
>   


-- 
――――――――――――――――――――
株式会社メディアラボ
システム開発部  山下 雄大
E-mail:yamashita @ media-labo.co.jp
〒190-0012
東京都立川市曙町2-32-8
URL http://www.Media-Labo.co.jp
TEL:042-523-1340 FAX:042-523-7095
――――――――――――――――――――




pgsql-jp メーリングリストの案内