2018年3月14日水曜日

サービス利用にフォーカスした検索エンジン「Vespa」の話を、 『Yahoo! JAPAN MEETUP # 22 (Vespa 特別編)』で聞いてきました。(まとめなど)


Yahoo!が秘蔵していた「検索エンジン」が公開された!って、勉強会を見つけたので行ってきました!


もくじ



『vespa』 とは。

Oath inc.(Verizon社傘下,AOL,Yahoo等と並ぶ子会社)が、開発、提供している「検索エンジン

OSS(オープンソースソフトウェア)では、検索機能を提供するミドルウェアとして、
  • Apache Solr
  • Elasticsearch
が、先駆者として存在している中、後発ででてきたプロダクトなので。
何が違うのかをお聞きすることができました!

あくまで、自分が感じた「vespa」の印象は、
  • 利便性より、安定・検索パフォーマンス重視
  • スケーラビリティを考慮した設計
  • 何らかのサービサーが、利用するように考えられている
    (実際、米Yahoo!inc,Yahoo!JAPANが10年余り利用実績あり)


Vespaのご紹介 (English)

通訳役の方が居てくれてとても助かりました。
たくさんの機能を紹介してもらいましたが、気になった機能をいくつか紹介。

  • Flickr などに代表される、画像検索の機能

  • Recommend 機能

他にも、
  • text 検索で、質問の解を表示
など、

この日、発表になった「TensorFlow import」 (ベータ)
他にも
  • ランキング
  • リアルタイム検索
  • 無停止スケール
  • 実運用では「3,000」のノードでスケール実績あり
など、他にも多くの機能を備えているとのことでしたが、全部は追いきれなかったので。以下より確認してください。

資料

近々で公開してもらえるそうです。

Yahoo! JAPANでの活用事例

Yahoo!JAPANでは、Apache Solrと用途を分けて運用中
複数のサービスで稼働し、10余年も実績があるとのこと。

現在のバージョンでは、日本語の「形態素解析」ができないので、
Yahoo!JAPANさんの方で対応するプラグインをリリースされました!
実際に、Yahoo!JAPANのような規模のサービスで利用されているのが
このプロダクトの強みなのではないでしょうか?と思いました。

以下のページでも利用について書かれているので、参照くださいとのこと。

資料

近々で公開してもらえるそうです。

Vespa機能紹介(日本語、Yahoo!JAPANさんより)

まずは、日本語のチュートリアルをYahoo!JAPANさんの方で作成してくれたとのこと!
とても難しい説明を、素晴らしくわかりやすい図解で示してくれたプレゼンテーションに感激しました。

  • vespa での、ノードの役割
SolrやElasticsearchはどのノードも同じ機能を提供しているが、
vespaは違う。 しかも、設定に応じてプロセスが変化する。
  • コンポーネントごとの役割
管理コマンドがあって、シンプルに設定が可能
設定は「1ファイル」に書くと、ありました。

  • クラスタリングの話
分散の粒度が、他のプロダクトより細かい
  • 型の説明
SolrやElasticsearchにはない型の話
  • グルーピング
    • グルーピングの話で、この図がとても役立つ!
    • ネストの意味や、検索の動きが可視化されている。
    • ショッピングの場合、ストアから更にカテゴリ検索したいときとか
  • ランキング
  • 謎な数式が、vespaだと関数?で書ける
他には、
  • 動的フィールドは未サポート
    • SolrやElasticsearchにはある
    • 未サポートの理由は、おそらく。サービス提供を想定して、パフォーマンス重視のため

資料

近々で公開してもらえるそうです。

まとめ

  • 大規模なサービスでの利用を考えられた「検索エンジン」
  • 実績は、米Yahoo、Yahoo!JAPANで何年も使われている
  • スケーラビリティを考慮した設計と運用のシンプルな設計
非常にいい環境で、「meetup開催」ありがとうございました!

参考リンク

Zenback