hamada
bungu****@leo*****
2005年 10月 12日 (水) 15:27:52 JST
こんにちわ。 On Wed, 12 Oct 2005 11:30:18 +0900 高橋 <ttaka****@ybb*****> wrote: > はまだ様の補足説明大正解でした。私の早とちりで勘違いしてい > ました。早速ご教授のコードを加えます。 「もしかして誤解されてたらやだなぁ」(コードをぽんと出しただけでまったく 説明等無い→自分でも出し方に問題アリと思います。どうもすみません)とか考 え、念の為にと「ある程度の覚悟」を決めて投入した“蛇足”でしたが、幾らか でもお役に立てばなによりです。 ついでに書いときます(蛇足の蛇足:^^;)と、現在の当方は /catalog/includes/functions/general.php > function tep_parse_search_string($search_str = '', &$objects) { > $search_str = trim(strtolower($search_str)); の下に > //空白区切りでand検索化 > $search_str = mb_convert_kana($search_str, "sKV"); > $search_str = ereg_replace('[[:space:]]+', ' and ', trim($search_str)); とか追記して、osC本来の複雑な検索語記法を捨て、空白(全角含む)区切りで 入力された単語を、強制的にand検索化しちゃってるみたいです。 ・半角カタカナを全角化/全角空白を半角化 ・「1つ以上の半角空白」を「 and 」に置換する たったこれだけなんですが(^_^;) これやると、検索語の記述法が全然変わってしまう→ヘルプファイル等の記述を 直しておかなければならないことに注意。 このコード、以前投稿してたような気がしてたんすが、いま過去ログを検索して みたら引っかからなかった→この機会に書いときます。 > $search_str = trim(strtolower($search_str)); ^^^^^^^^^^ ↑この辺の処理(半角英字の小文字化)も、のちに全角/半角検索を行うとなる と、この位置に有ってはあんまり意味がない→処理内容やタイミングを一考した ほうがいいかもしれません。 この辺は被検索文字列、すなわち 「ショップ側が主にどのような記述法でテキストを持ってるか」 にも左右されたりしますんで、一概に言えないんすが。 > 随分前の事で細かい点は忘れましたが > キーワードの記録を自作されたスキルをお持ちなら、大丈夫だと思います。 ↑これって要するに > $sql = "insert into " . SEARCHWORD_TABLE . " values('NULL', '" . addslashes($HTTP_GET_VARS['keywords']) . "', '" . $_SERVER['REMOTE_ADDR'] . "', '" . date('Y-m-d H:i:s') . "')"; > > tep_db_query($sql); ↑こんな感じの処理で良いんですよね?(^_^;) 試しに実装してみましたところ、 「お客さまは短時間に同様語句で繰り返し検索する傾向が強い」 とか、色々興味深いデータが得られたようです。確かにこれは、マーケティング データとしてちょっと面白いかも。 たま〜に、「何ゆえコレを我がショップで検索するのか?!」みたいな、想像を 絶する奇天烈な語句も混じってるみたいなんすが…(^_^;) はまだ