スレッド表示 | フラット表示〕 全トピック 920 件中 151 番目 次≫ ≪前

中黒(・)など、記号を含むものを記号を含まないもので検索する方法

created: 2007-01-14 20:25 | modified: 2007-01-15 02:05 | reply: 1

[3531] 中黒(・)など、記号を含むものを記号を含まないもので検索する方法

user: ビギナーズラック | created: 2007-01-14 20:25
初めての投稿です。みなさま、よろしくお願い申し上げます。

早速ですが、Windows+PHP+Apache+MySQLという環境で、図書の検索サーバを構築しております。簡単な部分一致検索(フィールド名 like "%xxx%";)のようなものは出来るようになりました。

今回、質問させていただきたいのは、
データベース側にたとえば、

ハリー・ポッター

のように中黒など、記号を含むレコードを、
記号無しの、

ハリーポッター

をユーザが入力した場合でも検索可能にしたいのですが、どのような検索スクリプトにしたら良いのか私の力では分かりません。どうかご教授ください。よろしくお願い申し上げます。
reply: 3532 返信 編集 削除

[3532] 形態素解析とか

user: ach | created: 2007-01-15 02:05
"ハリーポッター" => Array("ハリー", "ポッター") => like "%ハリー%ポッター%"
とするようなスクリプトを作ればいい
この分割をしてくれるのが形態素解析ソフト(MeCab, Kakashi, Chasen)
でも正確に分割してくれるかどうかは辞書依存……
辞書をどんどん強化(教育)していけばそのうち正確に検索できるようになりますが……

でも
ハリー ポッター => Array(ハリー, ポッター) => like "%ハリー%" and *** like "%ポッター%"
といった感じで空白を区切り文字にしたand検索をつくって利用者に通知するほうが楽のような気が


#likeでの全文検索は処理が重目なのでそのうち限界がきます
#sennaなど日本語専用の全文検索エンジンを利用するほうがいいと思います
Parent: 3531  返信 編集 削除
スレッド表示 | フラット表示〕 全トピック 920 件中 151 番目 次≫ ≪前
ページの一番上へ
Googleグックマークに登録 Yahooグックマークに登録 livedoorクリップに登録 @niftyクリップに登録 はてなブックマークに登録 deliciousに登録 Buzzurlに登録 FC2ブックマークに登録
最近更新された掲示板トピックス
管理人Blog
Yahoo Search

最近更新したNote
PHPマニュアル
今日のブックマーク
PHPマニュアル関数検索
関数名を入力し検索ボタンをクリック↑