グッデイ商品検索システム
- サイトジャンル
- 検索サイト
- サイト公開日
- 2017-11-01
- 制作・開発期間
- 2017/05/01〜2017/10/31
CloudSearch利用による商品検索
商品データ20万件、在庫情報データ400万件のデータ検索を可能にするウェブアプリケーション開発を行ないました。
「グッデイなーらできるっ♪」のCMを見たことはないですか?最近、Youtubeでも社員さんたちによる製品の紹介をされていますよね。グッデイさんの商品は、日用品から、雑貨、ガーデニングなどなど、様々な商品がありますが、欲しいモノが近くの店舗になかったりして困ってしまう事も少なくありません。
baserCMSを採用
今回、グッデイさんのご要望もあり、次のご要望に対応すべく、baserCMSを採用しました。
- PCやスマホでお客さま自身が商品を検索して、どの店舗に目的の商品の在庫があるかを確認する事ができる機能
- スタッフがグッデイを訪れたお客様からの在庫確認に対して、タブレットを利用してすみやかに応じることができる機能
今回、baserCMSは、開発期間を短縮する為、Webシステムの開発プラットフォームとして利用しています。
拡張性の高いCakePHPを利用している baserCMSだからこそ、独自のデータベース構築や、管理システムの構築などスピーディーに対応することができました。
20万件の日本語による検索機能
課題となったのは、商品データ20万件の日本語による検索機能です。
これまで、既に基幹システム上にも商品データが存在していたのですが、検索に数秒かかっていたとの事で、この速度では、グッデイさんのお客さまの対応には利用できません。
そこで、この問題を解決すべく、全文検索エンジン「Apache Solr」をラッピングしたAWSのサービス「CloudSearch」を利用しました。
バッチ処理で基幹システムから1日に1回、CloudSearch にデータを吸い出し、CloudSearch に対して検索を行う仕組みを構築しています。
これにより、数秒かかっていた商品検索が、なんと0.5秒以内となりました。
この速度は、ご依頼頂いたグッデイ様からも十分なご満足を頂けました。
位置情報を利用した検索
また、位置情報を利用して、現在地から近い、在庫を持った店舗を順に列挙する機能も実装しています。
これにより、欲しいモノの在庫を持っている店舗を瞬時に検索できるようになりました。
開発体制
開発については、グッデイさんのシステム部と協力しつつ、ユーザーインターフェイスを株式会社ディーゼロが担当し、システム部分をキャッチアップが担当しました。3社で作り上げていく感覚はとても楽しむ事ができるものでした。
苦労したところ
設計で苦労した所は、400万件の在庫情報データのバッチ処理です。
本来であれば、CloudSearch に持たせたいところでしたが、これを行った場合、試算では、バッチ処理に40時間かかる事となり運用が現実的ではありません。
そこで、別途、準備しているRDS側に、在庫情報データを持たせる事にし、バッチ処理を5分〜10分程度で済ませる事にしました。
検索のタイミングでは、CloudSearch を参照し、検索結果を取得したタイミングで、RDS側に取得件数分の在庫情報の照会を行う仕様として実装しています。
技術 | AWS(CloudSearch/Redshift/RDS/EC2)、PHP、Linux、 PostgreSQL、baserCMS |
---|---|
開発範囲 | 検索システム設計・構築、CloudSearchデータ設計・連携構築、テスト |
デバイス | PC、タブレット、スマートフォン |