[Tep-j-general] Re: 商品検索の高機能版はないでしょうか?

Zurück zum Archiv-Index

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);

↑こんな感じの処理で良いんですよね?(^_^;)

試しに実装してみましたところ、

「お客さまは短時間に同様語句で繰り返し検索する傾向が強い」

とか、色々興味深いデータが得られたようです。確かにこれは、マーケティング
データとしてちょっと面白いかも。

たま〜に、「何ゆえコレを我がショップで検索するのか?!」みたいな、想像を
絶する奇天烈な語句も混じってるみたいなんすが…(^_^;)

はまだ






Tep-j-general メーリングリストの案内
Zurück zum Archiv-Index