「Googleの検索機能を利用する」でも紹介したように、Google APIを利用することでGoogleの検索データベースに自サイトから直接にアクセスすることが可能になります。別稿ではごく基本的なGoogleの利用方法についてのみ紹介しましたが、Googleには単なるキーワード検索にとどまらず、関連サイト検索やキャッシュ活用など高度な機能が備わっており、これらを利用することでさらに目的のサイトを探しやすくなります。本稿では、「Googleの検索機能を利用する」のサンプル(google.jsp)をベースに、これらの機能を追加してみることにしましょう。
Googleでは「related:<URL>」の形式で指定されたURLに関連するサイトを、「link:<URL>」の形式で指定されたURLにリンクしているサイトを、それぞれ検索します。関連サイト/バックワードリンクの実装方法は、取得した検索結果のURLにそれぞれ「related:」「link:」を付加し、自分自身へのリンクを張るだけです。
<dd><%=objGsre[i].getSnippet()%> |
Googleでは、現在の検索キーワードで適切なサイトが見つからなかった場合に、酷似したキーワードを自動生成し、提案するという機能を持っています。実装は簡単、GoogleSearch#doSpellingSuggestionメソッドに元の検索キーワードを渡すだけです。ここでは、検索結果が0件の場合のみ代替キーワードの表示を行うようにしています。
<h3> 検索の結果、
<%=objGsr.getEstimatedTotalResultsCount()%> 件のサイトが抽出されました。検索時間は
<%=objGsr.getSearchTime()%> です。 </h3> <%
if(objGsr.getEstimatedTotalResultsCount()==0){ %> |
Googleでは個別のページを自身のデータベース内にキャッシュとして保存しています。キャッシュの内容は最新の情報でない可能性こそありますが、表示スピードが(一般的に)速い、元のサイトが破棄されて(または、一時的にダウンして)いても参照することができる、などのメリットがあります。
<a href="google_plus.jsp?q=link:<%=objGsre[i].getURL()%>"> |
<%@ page contentType="text/html;charset=Windows-31J" |
キャッシュの内容を表示するのは、GoogleSearch#doGetCachedPageメソッドの役割です。引数として対象ページのURLを引き渡すだけで当該ページのデータをバイト配列として返しますので、アプリケーション側では、これを文字列化して出力するだけです。
Copyright © ITmedia, Inc. All Rights Reserved.