[pgsql-jp: 28908] Re: キーワード検索について

Kazumasa Gotoh kgotoh @ cic-kk.co.jp
2003年 2月 3日 (月) 17:42:42 JST


From: Hiroshi Ishiura <issy777 @ entrance-e.com>
Date: Mon, 03 Feb 2003 17:07:28 +0900

> で、全角英数字「ABC」がDBにはいっている場合「ABC」でいれても検索ヒッ
> トがうまくいきません。これはPHPのほうで半角に変換てからやるしかないん
> でしょうか。

根本的に「ABC」と「ABC」は文字として全く異なるものなので、
漢字に対応した全文検索システムなどで無い限り、通常は「同じもの」
としては扱われません。

なんとなれば、このふたつが同じように見えるというのは「気のせいである」
くらいに考えた方がよろしかろうかと。:-)

それができるくらいなら、「えびす」と入れて、「えびす」と「ゑびす」
の両方になぜヒットしないのかの方が不思議でしょ。

現代の日本語としてはこのふたつは同一の意味を持つし、発音も今となっては
事実上の区別は無い。しかし表記としては両方とも存在します。

結局、あるシステム内で同一として扱いたいのであれば、DB へ登録する
時点で正規化を行っておかないと DBMS ではうまく扱えないと考える
べきでしょう。
ちゃんと入り口で正しておく。それをしていなかったのであれば、そういう
のは「設計の失敗」と言われてもしょうがない。

入った後での事を考えるよりも、DB 上のデータをどちらか一方に統一
して書き換えたり、データ入力システムの見直しをした方が検索も
速くなってよいのではないかと思います。

世の中には全文検索システム的な事がどうしても必要な場合がありますが、
本件の場合はどうなのかを考え直した方がよいような気がします。

それで諸般の事情によりどうしても全文検索システム的な事が必要なので
あれば、RDBMS を使わずに全文検索システムを使うようにした方が
幸せなんじゃないでしょうか。

# もっとも、世の中には RDBMS に組み込む「全文検索プラグイン」とでも
# 言うべきオプションが存在する製品もありますが。

=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
(株) セントラル情報センター
                             後藤和政    kgotoh @ cic-kk.co.jp



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