非公開 様
ElasticSearch導入

プロジェクト概要
私たちは、お客様から「大量のデータをもっと速く検索できるようにしたい」という要望を受けて、検索機能の改善に取り組みました。
これまで使用していた検索システムでは、データ量が増えるごとに検索が遅くなり、結果としてレスポンスが遅延してしまうという問題が発生していました。
この遅延は、最終的にユーザー体験に影響を与えるため、早急に改善が必要でした。
そこで、検索速度を大幅に向上させるため、私たちはElasticSearchを導入することを提案しました。
ElasticSearchとは、「大量のデータの中から、必要な情報を素早く見つけるためのツール」です。
例えば、ウェブサイトやアプリに「検索機能」を追加したいとき、これを使うと、検索結果をすぐに表示することができるようになります。
課題・要望
現在使用していた検索システムでは、データベースから情報を取得するために通常のMySQLによるSQL検索を使っていましたが、その処理に時間がかかっていました。
さらに、検索結果を表示する際に、そのページのデータだけでなく、検索結果全体の合計値や平均値、最大値、最小値、さらにはセグメントごとの集計を同時に行う必要がありました。
そのため、検索結果を表示するまでに多くの時間を要し、最終的にはレスポンスが遅くなってしまうという問題が発生していました。
DBの負荷についても大きく、データベースの負荷を軽減する必要もありました。
お客様からは「この検索の速度を改善したい」という要望をいただき、より迅速で効率的なシステムへの改善が求められました。
施策・提案内容
課題を解決するために、私たちはElasticSearchの導入を提案しました。
ElasticSearchを導入することで、単に検索結果を表示するだけでなく、検索結果の合計、平均値、最大値、最小値、さらにはセグメントごとの集計も同時に行えることをお伝えしました。
これにより、ユーザーが求める情報をより迅速かつ正確に提供できるようになります。
また、万が一ElasticSearchに障害が発生した場合でも、既存のデータベースからデータを取得する仕組みを使用し、システムの信頼性も確保できることをご説明しました。
お客様にこれらの提案内容をご理解いただき、同意を得た後、ElasticSearchの実装を進めました。
導入効果・お客様の声
これまでは検索に約15秒ほどかかっていた処理が、ElasticSearchを導入した結果、1秒以内でレスポンスが返ってくるようになりました。
これにより、検索速度が大幅に改善され、ユーザーの待機時間が大幅に短縮されました。
DBの負荷についても解決され、サービス全体のレスポンスも向上しました。
開発言語・SaaS・サーバー構成等
Laravel, ElasticSearch(OpenSearch)