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での活用事例
複数のサービスで稼働し、10余年も実績があるとのこと。
現在のバージョンでは、日本語の「形態素解析」ができないので、
Yahoo!JAPANさんの方で対応するプラグインをリリースされました!
実際に、Yahoo!JAPANのような規模のサービスで利用されているのが
このプロダクトの強みなのではないでしょうか?と思いました。
以下のページでも利用について書かれているので、参照くださいとのこと。
- The open big data serving engine:VESPAの紹介 - Yahoo! JAPAN Tech Blog
- インターンシップ生がVespaを使って検索システムを作ってみた話 - Yahoo! JAPAN Tech Blog
資料
近々で公開してもらえるそうです。Vespa機能紹介(日本語、Yahoo!JAPANさんより)
まずは、日本語のチュートリアルをYahoo!JAPANさんの方で作成してくれたとのこと!とても難しい説明を、素晴らしくわかりやすい図解で示してくれたプレゼンテーションに感激しました。
- vespa での、ノードの役割
vespaは違う。 しかも、設定に応じてプロセスが変化する。
- コンポーネントごとの役割
設定は「1ファイル」に書くと、ありました。
- クラスタリングの話
- 型の説明
- グルーピング
- グルーピングの話で、この図がとても役立つ!
- ネストの意味や、検索の動きが可視化されている。
- ショッピングの場合、ストアから更にカテゴリ検索したいときとか
- ランキング
- 謎な数式が、vespaだと関数?で書ける
- 動的フィールドは未サポート
- SolrやElasticsearchにはある
- 未サポートの理由は、おそらく。サービス提供を想定して、パフォーマンス重視のため
資料
近々で公開してもらえるそうです。まとめ
- 大規模なサービスでの利用を考えられた「検索エンジン」
- 実績は、米Yahoo、Yahoo!JAPANで何年も使われている
- スケーラビリティを考慮した設計と運用のシンプルな設計