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

陶山 泰 postgrml @ suyama.net
2008年 7月 14日 (月) 11:17:58 JST


山下さん、こんにちは。陶山です。

        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 = 'トマト';
とします。



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