15年続くクチコミサイトの検索エンジンを内製化した時のこと
こんにちは。ウエディングパークの『ン』。note編集部のあっこ(@akk_szz)です。
毎日、意識的にも無意識のうちにも、何回も利用しているインターネットでの「検索」。
私ももちろん、毎日色々なことを検索しています。
Googleでの検索、InstagramやTwitterでのハッシュタグ検索、レシピアプリでの食材でレシピ検索、などなど…
そして当社の運営メディア「Wedding Park」も、理想の結婚式場を探すための色々な検索ができます。
今回はこの検索を実現する「検索エンジン」を、外部エンジンから内製エンジンにリプレイスするプロジェクトをメインで担当したエンジニア、あずめんの想いをお届けします。
あずめんは、新卒入社5年目のサーバーサイドエンジニア。大学院を卒業し、“インターネットで業界を変えていきたい”とウエディングパークに入社。サイトのパフォーマンスチューニングをしたり複数メディアの会員基盤の統合をしたり、技術を使ってユーザーにとって探しやすいストレスフリーなサイトにしていきたい!という想いを持っています。
業務外でも「サシ飲み」で、技術によってで実現できる会社や事業の未来について話をするのが大好きです。
ここからはそんなあずめんにバトンタッチ。「検索エンジン内製化」への熱き想い、とくとご覧ください…!
そもそもウエディングパークの検索エンジンって?
こんにちは、あずめんです。
ここからは、私が担当したウエディングパークでの検索エンジン内製化について、その背景やプロジェクトのこと、そして内製化による未来をお伝えしていきます。
検索エンジンとは、検索する人が求める情報とマッチ度の高いコンテンツを検索結果として表示するための技術のこと。検索エンジンと聞くと、GoogleやYahoo!などをイメージする方も多いのではないでしょうか。
Wedding Parkサイトの検索エンジンに定義を狭めると、結婚式場を探すための「フリーワード検索」や「エリアから探す」、「こだわりから探す」といった検索機能を司るものです。
検索エンジンは、あいまいな検索を実現できることが強みで、存在意義なんです。
なければ、完全一致した物しか出てこない、ユーザーにとって使いにくいサイトになってしまいます。例えば、漢字やひらがな・カタカナの違い、空白が入っても検索結果として出てくるのは検索エンジンのおかげなんです。
・・・
このタイミングで内製化したワケ
ウエディングパークが「検索エンジン」を導入したのは、私が入社するよりずっと前のこと。まだエンジニア数人の開発体制だった頃でした。
当時は検索エンジンの開発にかけられるリソースは少なく、外部の検索エンジンを導入したそうです。その後も、サイトの機能追加・改善を繰り返す中、検索のロジックを変更する頻度は低かったので、内製化へのプライオリティは高くありませんでした。
転機になったのは、2年前にクリエイターチームで掲げた「No.1 BRIDAL TECH TEAM By→20」(2020年までにブライダル業界No.1の技術者集団になる)でした。
ここで「Data Analytics」「SRE」「UX」の3領域を中心に強化することになり、通常の開発ミッションとは別に各領域での研究強化のため、技術検証・推進のために時間を使うR&Dチームも結成されました。
この時、「UX」チームのロードマップのひとつには検索エンジン内製化を掲げていて、内製化についての検証を行ったり、Elasticsearchを可視化ツールとして触ってみたりと、導入に向けて計画を進めてきました。
そして、検索エンジン内製化が本腰を入れてプロジェクト化されたのは、“もっと”理想の結婚式場を探しやすいサイトにするため、こだわり条件など結婚式場の検索軸のリニューアルを行った時のこと。外部の検索エンジンがブラックボックスとなっていることで、コミュニケーションコストやスピード感など外部検索エンジンの課題が顕在化したのです。
ウエディングパークのサイト規模が大きく、機能も複雑になったことで、検索エンジンの技術を社内で持つメリットが大きくなり、内製化への期待感が高まりました。
私がプロジェクトの主担当になったのは、システムDiv.GMとのサシ飲みで「内製化すればもっと良いサービスになる!本腰を入れてもっとコミットしたい!」と熱い想いを伝えたのがきっかけでした。
検索エンジンのリプレイスはサイトのロジックや根源に触れる技術的にも難易度の高いこと。「任せる。」と言われた時は、エンジニアとしての探求心が掻き立てられました。そして、自分が挑戦して推進するんだ!と責任のある仕事にワクワクしました。
・・・
プロジェクトを進める中でのこと
ウエディングパークの検索エンジン内製化で活用した技術は、Elastic社が提供するElasticsearchです。以前、自社で提供していたマッチングサービス「aite」で活用しており、ユーザーへのレコメンド機能もElasticsearchによる検索エンジンで実現していました。
aite開発チームから「技術解剖」としてElasticsearchの機能の共有を受けた時に、これをウエディングパークサイトに導入すれば、検索エンジンがサイトの実現可能性を広げられると感じていたんです。
導入にあたっては、現状内製化できるフェーズなのか?という検証から導入まで一貫して担当していたのですが、プロジェクトを進める上では、社内で作るからにはブラックボックスになるのを防ぎ、属人化しないよう、もっとオープン化したい。という思いを持っていました。
内製化する意義を経営層や社内のメンバーに伝えるためには、導入することで何が変わるのか?パフォーマンスが向上するのか?どんなことが実現できるのか?といったことをプロトタイプを作って伝えたり、社内で勉強会をひらいたりしました。
そして、サイトの可用性やパフォーマンスを担保・維持するため、もし何かあった時には元のエンジンに戻すこともできるよう、仕様をそのまま引き継ぐかたちでリプレイスしました。元の仕様に合わせて互換性を持った実装をしなければならなかったのはひとつ苦労したポイントでした。
今回、検索エンジン内製化の検証・導入を進める中で、何度も技術的な課題にぶち当たりましたが、プロジェクトリード、アーキテクチャの設計や社内での啓蒙活動、コスト算出まで、幅広く学びが多いプロジェクトでした。事業や組織のためにやったことが、自分自身の成長にも大きくつながったんです。
・・・
検索エンジン内製化で実現したい未来
検索エンジンの内製化では、ブラックボックスになっていた検索エンジンを透明化することができ、メンバーが探しやすさを追求する土台をつくれました。それは、これからは開発チーム全体で、検索エンジンを有効活用してサイトに新たな付加価値を提供できるってこと…!
開発に関わるメンバーが検索エンジンの構造を理解して身近になったことで、サイトの改善施策に活かしたり、新たな検索ロジックを作ったり…メンバーから“こうしていきたい”、“ああしていきたい”という言葉をもらうようになりました。
「Wedding Parkの検索エンジン」のゴールは、蓄積されたデータを元に、探さなくてもその人にとっての理想の結婚式場が見つかるということ。つまり、一発でユーザーが求めている「これが欲しい」という情報に出会える世界を実現したいんです。
もちろん、もっと探しやすさを追求するために、コンテンツや機能の拡張なども検索エンジンを活用して実現していきたいし、ウエディングパークのクリエイターチームとして、様々な技術によって、式場探しをするユーザーにマッチする結婚式場が探しやすいサイトを作って、ユーザー一人ひとりにとっての「最高」の結婚式を実現したいと思っています。
これからも、もっと探しやすいサイトをつくる「技術のウエディングパーク」を目指して行くので、ぜひウエディングパークのサービスをチェックしていてください。
この記事が気に入ったらサポートをしてみませんか?