カートの商品検索の機能
携帯対応ショッピングカートCGIの商品検索の機能
携帯対応ショッピングカートCGIの比較検討
ショッピングカートCGI
ダウンロードの申込み
アフィリエイト参加
携帯対応ショッピングカートCGIの商品検索の機能 ショッピングカートCGI(買物かごCGI)の商品検索の機能

ショッピングカートCGIの商品検索の機能

ショッピングカートSPシリーズの商品検索の機能について説明致します。

検索方法の決定ショッピングカートの検索方法の決定

日本語の場合、様々な文字が使われていますから、商品検索などのワード検索は非常に難しくなります。使われている文字は下記の通りです。
  • 全角文字
  • 全角カタカナ と 半角カタカナ
  • 全角英数字 と 半角英数字
  • 英字の大文字 と 小文字
  • 記号
  • など。
使われている文字コードも様々です。といっても、当社のperlのプログラムの中では、Shift_JISを用いています。

さて、こうした環境の中で、軽く、しかもある程度の精度の検索を実現するという問題に直面します。そこでスピードと精度のバランスが重要になります。

そんな中で、検索でぜひとも実現したいことはなんでしょうか。
  1. 全角英数字と半角英数字を区別しない
  2. 英字の大文字と小文字を区別しない
  3. 半角カタカナでも検索できる(携帯からの要請)
これらはぜひとも実現したいと思います。これを速度を落とさずに行うことは必ずしも簡単ではありません。商品数と1商品データの量が多い場合の文字の変換に要する時間を考えて、むやみに文字変換をしたくはありません。

そこで、次のような検索方法を提案いたします。
  1. 検索語句に英数字が含まれる場合、検索語句及び商品データの全角英数字を半角英数字に変換します。
  2. 検索語句が英字のみの場合、半角英字を半角の小文字に変換します。このとき、商品データの半角英字も半角の小文字に変換して照合します。
  3. 検索語句が英字以外を含む場合、半角カタカナを全角カタカナに変換します。このとき、商品データの半角カタカナも全角カタカナに変換して照合します。また、半角英字を半角の小文字に変換し、商品データの半角英字も半角の小文字に変換して照合します。
検索語句に含まれる語により、商品データの必要な変換のみをこまめに行います。

英字の大文字から小文字の変換の際にsjisからeucに変換する処理には時間がかかります。それで、この処理を行うか行わないかを選択できるようにしました(set.plの25行目の検索モードの設定)。

【検索モードの設定】
  • 検索モード1(高精度検索)⇒英字の大文字から小文字の変換の際にsjisからeucに変換する
  • 検索モード0(標準検索)⇒検索語句が英字のみの場合、sjisからeucに変換しない
  • 検索モード2(高速検索)⇒標準検索に加え、検索語句に全角文字が含まれる場合、英字の大文字から小文字への変換は行わない
サーバのCPUの処理能力により異なりますが、目安として
  • 検索モード1(高精度検索)⇒商品数5,000件程度
  • 検索モード0(標準検索)⇒商品数10,000件程度
  • 検索モード2(高速検索)⇒商品数15,000件程度
なお、検索モードの初期値は0(標準検索)に設定されています。

検索モード0又は2(標準検索又は高速検索)の時、半角英字の検索において、アルファベットの文字数が少ない場合(特に、1文字の場合)、検索に誤差が生じることがあります。これは文字コードによるものですが、通常そのような検索は行わないので、実用上は問題ないと思います。精度の高い検索をお望みの場合は、少し処理時間がかかりますが、、検索モードを1(高精度検索)にしてください。


【注】商品データに半角カタカナを使用しないようにして、変換処理を減らすことができます。(この場合、プログラムshop.cgi、k_shop.cgi、goods,cgiの中の変数$katakana_convert =0;にするか、コメントアウトしてください。)

【Unicode対応版(PCtoMobile-U)の場合】
Unicode対応版では、日本語の英数全角と半角カタカナの使用が問題になります。商品データにこれを使わないことを前提で考えると、簡単で、しかも、処理速度もかなり速くなります。多言語に対応させようというのですから、これは道理にかなった方法だと言えます。というのは、半角英数字は多言語共通だからです。

それで、検索方法を次のようにしました。
  1. キーワードに全角英数字が含まれるとき、キーワードを半角英数字に変換
  2. キーワードに半角カタカナが含まれるとき、キーワードを全角カタカナに変換
  3. キーワードに英字が含まれる時、キーワードと商品データを共に大文字を小文字に変更して比較
これは、PC携帯共に同じになります。キーワード検索では、PCと携帯で共通のデータを参照します。それで、携帯の商品説明では半角カタカナを使用することができます。

andとorの検索機能ショッピングカートのandとorの検索機能

andとorの検索機能を有しています。
  • and(半角又は、全角ブランク)検索: 両方とも含まれているものを検索
  • or(半角+又は、全角+)検索: どちらか一方を含むものを検索。
and検索とor検索を以下のように行うことができます。
  1. ブランクはand検索を意味します。
    • word1 word2 word3
  2. +又ははor検索を意味します。
    • word01+word02 word2 word3
    • 語1+語2 word2 word3
【ワード検索の具体例】
例1:グッチ Bag
グッチのバッグをこののようにして検索する場合、グッチは半角カタカナ「グッチ」でもOKです。また、Bagは、bagでもBAGでもよいのです。

例2:グッチ+エルメス Bag
こうすれば、グッチとエルメスの両方のBAGを検索できます。

例3:グッチ+エルメス Bag+belt
グッチとエルメスの両方のBAGとベルトを検索できます。

andとorの検索機能詳細検索機能
PCtoMobile、Contents-Cartには、チェックボックスを複数使った詳細検索の機能があります。これは、上記のキーワード検索のandとorの機能を利用したものです。詳しくは、こちらをご覧ください。⇒商品の詳細検索の機能



Copyright (C) 2012  WEBインベンター All rights reserved.