[pgsql-jp: 34054] Re: ひらがな/カタカナの区別
Tatsuo Ishii
t-ishii @ sra.co.jp
2004年 9月 30日 (木) 17:32:40 JST
石井です.
> うらもとともーします。
>
> きむきむ wrote:
>
> > はじめまして、きむきむです
> >
> > 現在検討中の方法は
> > 1.テーブルにデータを登録する際に、検索対象となるデータを仮に列Aに登録
> > するとすると、追加でひらがなとカタカナを反転させたデータを列Bに登録し、
> > 検索の際には列AとBで「OR検索」を行う。
>
> 列Aのカタカナを全部ひらがなに変換した、検索用列Bを用意し、
>
> > 2.テーブルを検索する際のキーワードをやはり、ひらがなとカタカナを反転さ
> > せたものを作成し、その二つのキーワードで「OR検索」を行う。
>
> 検索キーワードをひらがなに変換かけて、列Bに対して
> 検索を行う。
>
> という方法が思いつきました。
> (つまり、全部ひらがなで検索するということです。)
検索用列を用意しなくても,カタカナ->ひらがなに変換するユーザ定義関数
to_hiraを作り,
CREATE INDEX hiragana_index ON foo(to_hira(i));
とかやっておいて,
SELECT * FROM foo WHERE to_hira('ホゲ') = to_hira(i);
とかすれば高速に検索できます.
--
Tatsuo Ishii
pgsql-jp メーリングリストの案内