Yahoo!が秘蔵していた「検索エンジン」が公開された!って、勉強会を見つけたので行ってきました!
もくじ
『vespa』 とは。
Oath inc.(Verizon社傘下,AOL,Yahoo等と並ぶ子会社)が、開発、提供している「検索エンジン」OSS(オープンソースソフトウェア)では、検索機能を提供するミドルウェアとして、
- Apache Solr
- Elasticsearch
何が違うのかをお聞きすることができました!
あくまで、自分が感じた「vespa」の印象は、
- 利便性より、安定・検索パフォーマンス重視
- スケーラビリティを考慮した設計
- 何らかのサービサーが、利用するように考えられている
(実際、米Yahoo!inc,Yahoo!JAPANが10年余り利用実績あり)
Vespaのご紹介 (English)
通訳役の方が居てくれてとても助かりました。たくさんの機能を紹介してもらいましたが、気になった機能をいくつか紹介。
- Flickr などに代表される、画像検索の機能
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjFJASzdvxe7l4pIn6ejTAl9wVbdfHajG_6KJjc0vSNvBVrHoFTuXmGs9E9R_SKeggYScQsmB_Pu-fLwEAPOXvUUpgGmpxcXnsm90AIaFBUtWfyx7Xw7AlkNMqYsSXVHZDKPPhP5qaMR0xx/s640/DSCF4352.jpg)
- Recommend 機能
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgu9MAeDzekphtQUtAgPuMl251MgExAKvroFNQ8wQzchtmUhFNi7h5TuzRglkUmTBbOH9xq9vwdfTqPstvQ3IB9ppWPLB81Om4qiMqy38mWXMa6kFBoG__tWc_bkOc4ZMU-lcPP0KNlO_JC/s640/DSCF4353.jpg)
他にも、
- text 検索で、質問の解を表示
この日、発表になった「TensorFlow import」 (ベータ)
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgnwWvrRBOJLyK040jVA9evuo7GCltwKys6Wu3MAO15BK6AGcZH4_jUtdwc4WH9jowmeibO9A7xZmp9M67ANfEaE1DUvWNDoS6FX2fA1TQ7LEKISuIVYK0xPvpVoXKz_YN_4EoAvkXgMMpb/s640/DSCF4354.jpg)
- ランキング
- リアルタイム検索
- 無停止スケール
- 実運用では「3,000」のノードでスケール実績あり
資料
近々で公開してもらえるそうです。Yahoo! JAPANでの活用事例
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgMdfSQu9fYUMTy2E3_gQ2FE96B49aqD5mSpkuQsOiDfjwxJ8H-cnJqqLhbHkgPoZs-m7VFWXoXFUj3OSMyTqlK-dvIdr9vuEpFwWGNc1zNGD3rHorv_6dGw0zv_w2rqIXPExTb0ByKluip/s640/DSCF4356.jpg)
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgCxkEsiPCAjBc2Q59LcDydO7wfHoakGUY372I7kK-jsqKMSTgtaG0LT44Ir63BApGKSvkS6SoBJNo5zoZANaEqJfp2GFX140WLrzh8MU3AteO7nD23w3kZnwMXux2vj9igs99LiNy5cETK/s640/DSCF4357.jpg)
複数のサービスで稼働し、10余年も実績があるとのこと。
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEijkAk06dx9rQcZqFT2CuSmE32QNuc1QKyHFApsiFjEdIdAXyZwSP3GYlLN6GJR5pYJq0ZUkVwG7OQNkbztZpaxS5_07q0BHOU__MhNjpzf9DLEoQqBdM0WXbwCjOyAW62cDNnz6SuaCthD/s640/DSCF4358.jpg)
現在のバージョンでは、日本語の「形態素解析」ができないので、
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は違う。 しかも、設定に応じてプロセスが変化する。
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiS50ERm-ITRVa1ha0hVUYmAitiAo5NiWAYBpDp17sNnSxR8rpJyrkZ6ugWAXHKrQM4x5ZbP920xRBz4xBauKdVkkQEVyhrSwbhPyeS6SQsjsF-smGWRfY1sb1nZbcxKuC-sxYJmONWgNgW/s640/DSCF4359.jpg)
- コンポーネントごとの役割
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhYc3anxExwfjIizRA0OKjkMiNv-KEY-wkqXV73OAVB9XnuG7cPkbmLYf4Dp9UwqWxDY0sW_0JMzYa4mQfQbSxGsNgqG261u0pzAcrf6loSR5ROaIlCCqxsbc74zkSuAFv7AfCk5sEd5fpL/s640/DSCF4360.jpg)
設定は「1ファイル」に書くと、ありました。
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgOTSGfgV1DMXL2oLBr8KPZD97hiMIu7zHJEhSnat3Md4LD-ZC39k8MCmGc5bqux4ldE0HvmSW0mhNgl5Wf4LqVYoGAV76Gg4DKNTCorK1K_ZRLQjSA_UGoo0fAT7vGHuiYxkODnLpm1fO9/s640/DSCF4370.jpg)
- クラスタリングの話
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi3jtYhvgaaWffONrpnFcK62L3BryTznmGm1NzhwqQQdfTr7sD6SBvrKLt76sslfice6T4LQjA1o-rSuLj_fk52E05jCupf-3OKi0WUQ46GUom55KzegeKG6tVKRV9ufyH-sJRwBWJoymD2/s640/DSCF4368.jpg)
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjElCq9Xl-cHqBha5-EyvLmh_kJaHQk-P-QEmBoNIfL3K_diL8wvGzRYKGb0NRSbidy682bnzhSTmMPWvtcLb5dZkgNHeQujGPPZpU6RAc3vbhYR1ZFqQNE36gN0PgsQI5kAVq3ImPJIVzS/s640/DSCF4369.jpg)
- 型の説明
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj9wH4MhZ299ThOpvwjdytqxK1sMbSZMi8ShI5Bk2eHKINvYKwY3MfZAbw0yNINgoKLk7y7y1124WgS8KdtqdAmkO-5JgDwmxivtV3g4VSyJrC3rRBfdb1sClAVzffykVnbdLdwFxQZPLAL/s640/DSCF4361.jpg)
- グルーピング
- グルーピングの話で、この図がとても役立つ!
- ネストの意味や、検索の動きが可視化されている。
- ショッピングの場合、ストアから更にカテゴリ検索したいときとか
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjk9ebiF-uZ9UEp-mA_W7YbTQMW2eEVKa7JEbhGpvJaezOiSYOsWSd2ss0CVaHtBwEVMbs6vFLQ5_cKT9JKBy5sPZCxlA8FWWVocFi42qBO9js9xYZ1rS650BtSWM3-5PkYd-uyZ8LSybQS/s640/DSCF4362.jpg)
- ランキング
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgwTbBSR-XSpQzqXXBIvIO4oYLdqHtV-FRBl38jXM06Mf0y5NdpodyEOyEL1hDAZ7Tn13ZqEPsecLRDHvNuqs0PnPMirHDreAQbj9-ig71fG4zhy_aCjsS9-sLkKVA0ypc9L9GLInPSB6rf/s640/DSCF4364.jpg)
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiptPgWP6Ech7vQ-6E17u8WQ1PXHODEgHVS2V99v_Wp-FidJv0RrmUZNp2DTK3jRzEODNU2fn9knsg7NhyOKurf0jTBeADiBvajoZx4Bex-y1jBhAdjLZiNsNgnsXGAaquxyNI4elAamw3m/s640/DSCF4365.jpg)
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEghONw9hlWnGk0CwyqRR04sxl1SeDbjFGL9Q5bmAMAN4HtZo1KanarpvypIELmU8LHU8zYr2w0kAzOA8DF4Lp87wZI7Rc9MhEnPt14QCsK-wf4Fwv4nhCPzCWRvKNTGoJ2ln2bJuavexzxX/s640/DSCF4366.jpg)
- 謎な数式が、vespaだと関数?で書ける
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiptqxJv624JglbVKt9JK0MX4uKrtK9nVRAdXeNx4jqtQhOIGqDiKoa-ykj5vj2LF6vzE4L54oNtFGwv9hsuM7D87lcR_ZDTRq5teucZE1ePOiC-bsYmJ6O4RRIPbml9xIKrFDkK_IYRqqU/s640/DSCF4367.jpg)
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi-yhCWHtZRKQPQNHn9Yok16E6ALs7loy3glt1Vk_upkAjeRU_Y1aNXXX6roiwmXzC4UL7Ovk-j8WozQNKOfZJTRa0GKi0QzXTeS0MLvFlorasMoXv5bJh0VcRExarcb3C4bPo5YtL6-6w3/s640/DSCF4371.jpg)
- 動的フィールドは未サポート
- SolrやElasticsearchにはある
- 未サポートの理由は、おそらく。サービス提供を想定して、パフォーマンス重視のため
資料
近々で公開してもらえるそうです。まとめ
- 大規模なサービスでの利用を考えられた「検索エンジン」
- 実績は、米Yahoo、Yahoo!JAPANで何年も使われている
- スケーラビリティを考慮した設計と運用のシンプルな設計
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEinUiO3k2X5OuuieNNmCJCTBCPGnJrfwrR5JDQLPLNbExcrXaImop0x75pUot_VjV59oqR2yvjhrooK5JR_KeDmgy1rmLByajmQhDeVWj88b3Oigxei2cazma3SCyIaskUgjRkewBtanhNv/s640/DSCF4374.jpg)