この記事は2009年9月21日にCNET JAPANへ投稿したものです。
googleで検索しようとすると、IMEやATOKのカナ漢字変換で確定される前に、すでにいくつかのキーワード候補が事前に表示されます。
これは、ブラウザ上でキーストロークを検出して、そのキーデータをgoogleに送信されることにより、その結果としてキーワード候補がそのブラウザに送
られてくる仕組みです。つまり「オンライン連想型仮名漢字変換」と言えると思います。
このような仕掛けがない
とき、自社アプリケーションでこれを行うといちいちキーストロークを受ける度にDBをアクセスしなければならなくなり、もはやリレーショナルDBでは補い
きれなくなります。そのため以前では、顧客がキーワードを入力確定した
そこにはAJAXという技術が使われ、キーストロークを検知すると、その度にそのデータは直接googleに送られ、googleから候補が戻って きます。そのためWebアプリケーションには負荷がかからない。負荷がかかるのはそれを利用している顧客のブラウザとgoogleと回線です。
このgoogleから戻ってくるキーワード候補は、googleのDBに入っているもので、一般的な検索結果ということになります。これを自社サイ ト内の商品名の候補だけを返せれば、自社ECサイトの商品検索が非常に便利なことになります。それにはgoogleサジェストと同じような機能を持てばよ く、その結果、キーストロークだけで商品名候補を表示させることができます。
そのためには、規模は遙かに小さくてもgoogleサジェストライクな機能をECサイトとは別に組み込む、それほど難しい仕組みでもありません。そ のサジェスト・ライクに必要なものは、まずリレーションナルDBではなく、キーバリュー方式(googleではbig tableと呼ぶ)のDBをおき、必要なデータをインデックスしておけばいいのですが、キーストロークからどの候補を選び出すかは重要なノウハウ部分とな ります。
自社サイトが扱っている商品に絞って行うため、汎用的な候補選択ロジックは必要なく、もう少しシンプルなロジックで解決するでしょう。しかし、この ロジック自体、顧客が探している商品をいかにしてできるだけ少ないキーストロークで候補を見つけるかが、面白いところ でロジックを設計する楽しい所でしょう。
ひょっとして、将来的に今までローカルで行われていたカナ漢字変換(IME、ATOKなど)は、このようなオンライン型に変わるのでしょうか。(加 辺友明)
最近のコメント