japan.internet.com
japan.internet.com メンバーID
Twitter
Facebook
RSS
ピックアップ
2010年6月23日 10:00

新しい“サービス検索”プラットフォームへの取り組み(3)

前回の記事ではサービス検索がどのような仕組み、フローで作られているのかについて解説しました。今回は、サービス検索を構築するためのプラットフォーム「ABYSS」について取り上げます。

ABYSS は Yahoo! JAPAN で作られた検索エンジンライブラリをベースに、サービス検索で必要となる各種フローをとても簡単に行えるよう、いくつかのコンポーネントを組み合わせて作られたシステムです。ABYSS を利用することで、以下のようなサービス検索を提供するのに必要なタスクが行えます。

・検索インデックスの定義
・データファイルのアップロード
・検索インデックスの構築
・高度なクエリによる検索結果の取得
・ステータスの確認

また、誰でもこれらの操作が行えるよう Web インターフェースが用意され、プログラムで制御できるよう Web API もあります。以下に ABYSS のシステム構成を表す図を示します。

ABYSS のシステム構成
ABYSS のシステム構成

サービス担当は管理画面(Admin UI)や API(Ops/Direct API)を通じて上記に記載したタスクを実行します。これらはシステム全体の制御を統括する Workflow を通じてほかのコンポーネントへ渡します。検索インデックスとなる元データは Storage へと格納され、世代管理や更新データとのマージなども併せて行います。

検索インデックスはたくさんのマシンで構成される Index クラスタにて構築され、いわばこの Index が ABYSS の中核を担う検索エンジン部分になります。Index より取り出された検索結果は Gateway を通じて検索 API という形でフロントエンド側に返します。

フロントエンド側は XML や JSON などのフォーマットで返ってきた検索結果を適宜 HTML に整形して検索結果ページとして表示します。ABYSS は、ほかにも外部の Web ページを巡回するクローラなどがあります。以下に各コンポーネントの役割を示した表を示します。

各コンポーネントの役割
各コンポーネントの役割
*クリックして拡大

Yahoo! JAPAN では現在100を超えるサービスを提供しています。ABYSS はこれらのほとんどのサービスの検索を提供するバックエンドシステムになることを見据えて設計し構築しています。それ故、スケーラビリティやパフォーマンス面においても十分に気を使っており、時間をかけてテストを行っています。ABYSS は2010年5月より本格的に稼働し、すでにいくつかのサービスで ABYSS を利用した開発および移行が進行中です。

この「新しい“サービス検索”プラットフォームへの取り組み」シリーズでは最終回となる次回は、ABYSS の利用ケースや今後のサービス検索プラットフォームの発展などを取り上げます。

【過去の記事はコチラ


記事提供:Yahoo! JAPANGoogle
 

関連テーマ
プリンター用
記事を転送
この記事をクリップ!
japan.internet.com Androidアプリ
japan.internet.com Androidアプリ Android で japan.internet.com のニュースがどこでも、いつでも読めて、ニュースをTwitterに直接つぶやいたり、Facebookにコメントできる。 人気ニュースランキング、ブックマーク機能なども使えます。詳しくは こちらから
注目のトピックス
Copyright 2012 internet.com K.K. (Japan) All Rights Reserved.