事業成長を見据え、高度な検索を実現できる検索エンジン
「Vespa」の導入へ

スタンバイのプロダクトの柱となる「検索エンジン」を、大規模なデータをハイトラフィック状況下で高速に配信できるビッグデータサービングエンジンである「Vespa」へ移行。検索エンジン移行プロジェクトの背景や推進する思いについて、CTO明石とテックリードの鷹取が語ります。

CTO/最高技術責任者

明石 信之

プロダクト部 テックリード

鷹取 敏志

サービス改善のスピードアップ、ナレッジの社内蓄積が課題だった

―検索エンジン移行プロジェクトの概要や取り組みについて教えてください。

鷹取:スタンバイが提供する求人検索機能には、オーガニック(無料掲載)と広告(有料掲載)という2種類の検索があります。これまでは、オーガニック検索ではヤフーからHostingされた検索プラットフォームABYSSを、広告検索ではElasticsearchをと、それぞれで異なる検索エンジンを使っていました。そこから、社内の検索エンジンを統一するべく、2023年よりVespaへの移行を進めてきました。

明石:プロジェクトを立ち上げるにあたり、そもそも私たちのプロダクトにおいてVespaが使えるかどうか、現在提供している検索仕様を満たす性能があるのかの検証からスタートしました。
Elasticsearchを使う案もあったのですが、Vespaは使える素性が多く、また大規模検索に適しており、今後利用するであろう機能が充実しています。検索エンジンの統一と自社運用することにより、さらなる事業成長が可能だろうと判断しました。

―Vespaへの移行検討の背景には、どのような課題があったのでしょうか。

明石:オーガニック検索と広告検索で異なる検索エンジンを使っていたことによって、双方のナレッジを取り入れることができないという課題や、チューニングに時間がかかるという課題がありました。同じ機能改善のための実装をオーガニック検索側と広告検索側とで別々にやらなくてはならず、運用コストも2倍かかっていました。
オーガニック検索で使っていたABYSSは、ヤフーのデータセンターに設置された仕組みで、スタンバイはそのプラットフォームの利用者という立ち位置です。そうするとエンジン自体の開発ができず、何か試しに動かしてみたいと思っても実行するには時間がかかり、サービス改善のスピード感が上がりません。今後の事業継続、成長を見据えるならば、高度な検索を実現できる検索エンジンが必要だと考えていました。Vespaはオープンソースで提供されている検索エンジンの中で、技術的に見ても最高峰だと思っており、鷹取さんに検証をお願いしました。

鷹取:今回のような検索エンジンの移行には、検索エンジンを自社内で運用することでナレッジが社内に蓄積するという大きなメリットがあります。検索サービス開発の自由度が高まるところも重要で、Vespaは最適な選択だったと思っています。

国内では導入企業がほとんどないVespa。これまでにない新しい概念のインプットに苦戦した

―プロジェクトを進める上でぶつかった壁や、見えてきた成果はありますか。

鷹取:今まで使ってきたABYSSやElasticserachは共通のライブラリを使っていましたが、Vespaはそれとは全く別のものになります。加えて日本でVespaを使い、積極的に情報発信しているのは「Yahoo! JAPAN」を運営するLINEヤフーとスタンバイくらいしかいません。LINEヤフーが公開しているドキュメントは非常に参考になりましたが、そもそも世の中に日本語で読める情報が少なく、これまで経験のなかった全く新しい概念や仕組みがあり、それををゼロから調べ、勉強していくのには苦労しました。とくに言語処理周りは、言語に依存する部分が多く、自前で実装するにあたっては、コードを読み込んで試行錯誤する必要がありました。

明石:プロジェクトにもう少し人がいたらな…という思いはありました。でも、難易度の高いVespaを理解してスピーディに動く必要があり、少数精鋭で進めました。鷹取さんには、次のキャリアとしてテックリードを目指す面においても、ここで成功体験を積んでほしいという思いも持っていました。結果から見ると、人が足りないという状況は、測らずも鷹取さんにとっては、確実に知識を深めることができ、よかったかもしれないですね。大変だったとは思いますが(笑)。

鷹取:(笑)確かに、個々で動くことが多かったのでコミュニケーションコストが少ない中で集中することができ、Vespaの理解が深まりました。
まだ、Vespa導入をしただけで、Vespaが持つさまざまな機能を使いこなしていくのは、まだまだこれから。より良い検索エンジンにしていくために、VespaもVespa以外にもやるべきことがたくさんありますね。

明石:スタンバイを利用するユーザーのために、ぜひ実現したいものの一つとして、リザルトグルーピング機能(まとめ検索機能)の改善があります。リザルトグルーピング機能はとてもコストがかかる検索の仕組みなのですが、Vespaであれば、ユーザーが求める情報提供が叶えられると思っています。

スタンバイが大切にしている「やってみよう」の精神。新しい挑戦が自身の成長にもつながる

―このプロジェクトを乗り越えた今、どんなことを思いますか。

鷹取:そうですね。新しい検索エンジンを使って自分の手で動かしていくのは純粋な楽しさがありますし、検索と一言でいっても、開発には多岐にわたる技術が必要です。アプリのコードを書くことから、インフラエンジニアとしての知識、自然言語処理などの機械学習周りの知識などまで幅広く求められるのが面白いところ。ある検索システムについて書かれた本の中に、「検索は総合格闘技」とあり、とても納得しました。
今回のプロジェクトでは勉強すべきことは山積みでしたが、その分新しいことを学ぶ経験ができました。これからは、もっと多くの技術的な知識や経験の幅を広げていける期待があり、今後のチャレンジも楽しみに思っています。

明石:このプロジェクトは、ユーザーにとってより良いものを作っていくために描いた構想に基づいた開発の一つです。鷹取さんを含めたプロジェクトメンバーみんなが、成果にこだわり、とても意欲的に取り組んでくれました。
今回のような技術的難易度が高いものへのチャレンジが、スタンバイで働くエンジニアにとって良い経験に繋がったことは、CTOとしても気持ちが満たされますね。
Vespaはもともと、米国Yahooで検索エンジンとして開発されていたものがオープンソース化された経緯があり、商業製品レベルの機能を持ち合わせています。Vespaの仕組みや概念を学ぶことで、検索についてより高度な技術を正しい形で習得することができます。Vespaに携われることは、スタンバイで働く魅力の一つになるはずです。

募集職種・エントリー JOB LIST

スタンバイでは、さまざまな職種の人材を募集をしております。
「まずはどんな会社なのか?」を知りたい方にはカジュアル面談のエントリーも受け付けております。
お気軽にお申し込みください。

READ MORE
ENTRY