米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」といったの店の情報が返ってきた
 これはテネシー州ナッシュビルのすし店を検索するというもの。これを実行すると写真1[拡大表示]のようなXML文書が返ってくる。これをパースして自分のWebサイトやアプリケーションで利用するというわけだ。なお,「appid=」の次に来るのはアプリケーションID。この例では「YahooDemo」とデモ用のIDを使っているが,実際の利用では登録する必要がある(アプリケーションIDは自分の好きな文字列で登録できる)。

 ついでなので,このデモIDを使って,もう2つほど試してみよう(今度はクリックしていただくとブラウザに結果が表示されます)。

  • 「nikkei」の関連語
      http://api.search.yahoo.com/WebSearchService/V1/relatedSuggestion ?appid=YahooDemo&query=nikkei

  • 「nukkei」(スペル・ミス)
     http://api.search.yahoo.com/WebSearchService/V1/spellingSuggestion ?appid=YahooDemo&query=nukkei

     なおアプリケーションIDの登録やAPIの利用はすべて無料。条件は,商用目的でないことと,WebサイトやアプリケーションにYahoo!社のAPIを使っていることを示す文言(例えば「Powered by Yahoo!」)を記すということだけである。

     以上がYahoo!検索APIの概略だ。では具体的にこうしたサービスをどのような場面で利用するのだろうか。

    この先は会員の登録が必要です。今なら有料会員(月額プラン)が4月末まで無料!

    日経 xTECHには有料記事(有料会員向けまたは定期購読者向け)、無料記事(登録会員向け)、フリー記事(誰でも閲覧可能)があります。有料記事でも、登録会員向け配信期間は登録会員への登録が必要な場合があります。有料会員と登録会員に関するFAQはこちら