[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 メーリングリストの案内