米Yahoo!が米国時間3月1日に検索サービス「Yahoo! Search」のAPIを公開した(関連記事)。同社サイトで提供している各種検索サービスについて,XML Webサービス(以下Webサービス)を介して一般に提供し,Yahoo! Searchをより広く使ってもらおうというのが狙いだ。
しかしこの取り組みは単なるAPIの公開にとどまらないとYahoo!社は説明している。それは開発者コミュニティそのものを意味するという。それはどういうことなのだろう?
今回は実際にこのAPIを利用してみるとともに,各種資料や米メディア,関係者のブログなども参照しながらYahoo!社の新たな取り組みについて考えてみる。
Googleより広範な多くのサービスを開放
検索APIの公開は何もYahoo!社が初めてではない。米Googleと米Amazon.comは3年前に,それぞれ「Google Web API」と「Amazon Web Services」(現在は「E-Commerce Service(ECS)」)の名称で始めている。米eBayも有料だが2年前に始めた。しかしYahoo!社は,(今回の取り組みは)他社(とりわけGoogle社)のそれよりも大規模なものと説明する。その理由として挙げるのが,広範なサービス。また,サービスの利用制限についても触れている。Google Web APIが1日に1000回のクエリーに制限されているのに対し,Yahoo!社の場合は同じ条件で5000回とした。
具体的に見てみよう。同社が提供するAPIは,大きく分けて次の5つになる。
(1)Web検索(msword, pdfなどのファイル形式も指定できる)
(2)画像検索(Web上の15億以上の画像を対象にした検索)
(3)映像検索(同じくWeb上の映像を対象にした検索,映像数は未公表)
(4)ニュース検索(7000以上のニュース・ソースを対象にする)
(5)地域情報検索(地域の店や企業などを検索)
これに,スペル・チェックや関連語表示のAPIが加わる。なお同WebサービスがサポートするアーキテクチャはREST(Representational State Transfer)。同社資料によれば,今のところSOAPをサポートするつもりはないとのことだ。RESTを選んだ理由は,「みなが理解しやすく,ほとんどのモダンなスクリプト言語からアクセスできるから」(Yahoo!社)という(Yahoo!社資料)。
同検索サービスは,RESTのリクエストURLを作成し,それを送信することで利用する。リクエストURLは以下のように4つのパートから成る。
まずホスト名を含むURL
http://api.search.yahoo.com
次にサービス名とバージョン・ナンバー
/WebSearchService/V1/
サービスのメソッドとクエスチョン・マーク
webSearch?
以上でベースとなるURLが完成。これにクエリー用の各種パラメータを加える(各パラメータはアンパサンドでつなぐ)
appid=YahooDemo&query=finances&format=pdf
上記は,Web検索で「finances」という語を含むPDF書類を検索する例。これと同様にして,次のような地域情報検索のURLを作ってみた。
http://api.local.yahoo.com/LocalSearchService/V1/localSearch ?appid=YahooDemo&query=sushi&city=Nashville&state=TN&results=10
![]() |
写真1●デモ用IDでテネシー州ナッシュビルのすし店を検索 「Ru San's Japanese Sushi & Seafood」といったの店の情報が返ってきた |
ついでなので,このデモIDを使って,もう2つほど試してみよう(今度はクリックしていただくとブラウザに結果が表示されます)。
http://api.search.yahoo.com/WebSearchService/V1/relatedSuggestion ?appid=YahooDemo&query=nikkei
http://api.search.yahoo.com/WebSearchService/V1/spellingSuggestion ?appid=YahooDemo&query=nukkei
なおアプリケーションIDの登録やAPIの利用はすべて無料。条件は,商用目的でないことと,WebサイトやアプリケーションにYahoo!社のAPIを使っていることを示す文言(例えば「Powered by Yahoo!」)を記すということだけである。
以上がYahoo!検索APIの概略だ。では具体的にこうしたサービスをどのような場面で利用するのだろうか。