最終更新時刻:2008年9月5日(金) 17時07分

-

類似エントリをGoogle Ajax Search APIで表示する

公開日時:
2007/01/15 23:30
著者:
櫻吉 清(さくらきち きよし)

前にも書きましたが、ブログに、今読まれている内容の類似エントリを推奨してくれる機能が無いものかと考えておりました。この様に考えついたのは*1、最近のニュース系サイトでは、当然の機能だからです。

例えば、CNETの「この記事を読んだ人におすすめ」、IT mediaとMYCOMの「関連記事」が該当します。この機能の建前は、読者により記事を理解してもらうためでしょうし、本音は、ページビューを増やすためでしょう。それでも、お互いにメリットがある仕組みではないかと思っています。

また、Googleでは、ページの内容から類似ページを表示する「Google Related Links」があるのですが、日本語ではあまりうまく動いていないようです。

ブログでは、関連エントリを推奨してくれる機能は見られません。確かに、月毎、カテゴリ毎、タグクラウド等で、過去の類似エントリを参照できますが、それは、読者が能動的に行動することを期待した機能です。

これでは、どれほど過去に優秀なエントリを掲載していても見られない可能性は少なくないでしょう。ブログは、過去のエントリを見られることはあまり多くは無いのではないかと思っています*2。新規の読者に過去のエントリを読ませるには、よほど最初に見たエントリが優秀で、ぜひ過去のエントリを見たいと衝動に駆らせないとだめなのではないかと考えています。

そこで、読者に過去のエントリを探す行動を取ってもらわなくても、興味が引きそうなエントリを紹介すれば、万が一でも過去のエントリも読んでもらえれるのではないかと思い、今回のツールを作成することにしました。

当初は、Google SOAP Search APIのデータをこねくり回せばできるかと思っていたのですが、そういえば新規顧客は打ち切っていました。

変わりにGoogle Ajax Search APIを用いることにします。Google Ajax Search APIは、検索対象サイト*3、検索キーワードを付与すれば、検索結果が表示されます。これを使用すれば、類似エントリ(≒特定サイト&キーワード検索結果)を表示することが可能ではないかと考えました。

但し、できるだけコンパクトにするために、検索窓を配置しません。以下がそのサンプルです。

これは、以下の文を設置しただけです。

<br>src='http://www.mizuao.com/SimilarEntrySeach/similarentry.php?
tag=Intel,AMD&unsearch=rblog-tech.japan.cnet.com/0061/2006/12/intelamdcpu130n_9e1b.html
&key=ABQIAAAA2RUFceGKQVqf9go66awiWxQZJw3MKgUWuULSQ3HJRKRmmPlgwBT56qCBq-bjH9
MsSUKAyDkW7ZjNzA&site=http://rblog-tech.japan.cnet.com/0061/&blogname=%25E5%25B0%2586%2
5E6%259D%25A5%25E3%2581%25AE%25EF%25BC%25B0%25EF%25BC%25A3%25E6%25A5%25AD%25E7%2
595%258C%25E3%2583%2591%25E3%2583%25AF%25E3%2583%25BC%25E3%2583%2590%25E3%2583%25A
9%25E3%2583%25B3%25E3%2582%25B9'>

私のサイトにおいてあるsimilarentry.phpに、幾つかのデータを渡すことにより、Google Ajax Search APIを実現しているだけです。設定する項目は以下の通りです。

 

項目 中身
tag 検索するキーワード(2バイト文字不可)
tagが複数ある場合は、","で区切って設定
key Google Ajax Search API
から取得するkey
site 検索対象にするURL
blogname ブログ名
(2バイト文字はencodeURIすればOK)
untag 検索しないキーワード
unsite 検索対象から外す*4

これらを、上記のサンプルの様にづらづらと並べると、本ブログの類似エントリを表示可能になります。ブログ名だけ2バイト文字をencodeURIして設定してください。encode及びdecodeは、ここで行ってみてください。

この方式ならば、ほとんどの設定可能なので、融通が利くのではないかと思っています。もし、similarentry.phpのソースが必要な方は、ここから持っていってください。このスクリプトをPHPが動作するサイトに置けば、動くと思います。

当然の様に検索対象のURLを変更すれば、どこのサイトでも検索することが可能です。そう、CNETの記事を幾つかのキーワードで検索して、表示することも可能です。

但し、この方式では幾つかの問題があります。

  1. 自動的とは程遠く設定に手間がかかる
  2. コンパクトでない
  3. 設定しないといけない項目が多すぎる
  4. 検索対象から外すURLを設定しないと同じURLを紹介してしまう
  5. iframeを使用しているため、長いリストを出すと見づらい

もう少し練る必要があります。ただ、思い立ってから短時間でここまでできたのは、Googleに感謝しています。でも、もう少し細かい設定ができるとなおうれしいのですが...

それでも、構文解析ができない私には、Googleの検索の力を借りざるを得ないのが本音ではあるのですが。

3番の項目だけは、対処は可能です。もし、そのサイト特有のCGIにしてしまえば、key、site、blognameの設定項目を減らすことは可能です。汎用性を高めるために、各種設定可能にしていますが、用途によっては邪魔以外何ものでも無いでしょう。

5番の項目は、MovableTypeの様なサイトならば、解決策を見出すことができると考えています。ここでは制約が多すぎて不可能です。

上記のクリティカルな問題以外にも、小さい問題は山積みですが、それは、また時間をかけて解決をしていきます。

作っておいてなんですが、設定項目が多すぎて、手軽ではありません。できるだけ、人の手を煩わせない方式で、類似エントリを表示できるように、今後も考えてみたいと思っています。

しばらくは、エントリの最後の方に邪魔にならない程度に貼ってみようかと思っています。

 


*1:似たような理論を再度展開しても申し訳ありません。
*2:これは、ブログが日単位をベースにしているからではないかと思っています。
*3:blog可。
*4:あるエントリで紹介する類似エントリが、そのものだと辟易するため、除外するURLを指定できるようにしました。

※このエントリは CNET Japan ブロガーにより投稿されたものです。シーネットネットワークスジャパン および CNET Japan 編集部の見解・意向を示すものではありません。

このエントリーへのコメント

ブログにコメントするにはCNET_IDにログインしてください。

このブログについて

ブロガープロフィール

アーカイブ

2008年9月
 123456
78910111213
14151617181920
21222324252627
282930    

カテゴリ

ブログネットワーク

アルファブロガー

佐々木俊尚 ジャーナリストの視点ストリートビューは新デジタルデバイドを生む
佐々木俊尚 ジャーナリストの視点
クロサカタツヤの情報通信インサイト北京オリンピック
クロサカタツヤの情報通信インサイト
江島健太郎 / Kenn's Clairvoyance新サービスをローンチしました
江島健太郎 / Kenn's Clairvoyance
渡辺聡・情報化社会の航海図クラウド時代の企業コンピューティング
渡辺聡・情報化社会の航海図
末吉隆彦 ロケーションウェアの「空」と「実」場所・空間を増幅!?「ロケーション・アンプ」
末吉隆彦 ロケーションウェアの「空」と「実」
鈴木健の天命反転生活日記パラレルワールドとしての電脳コイル
鈴木健の天命反転生活日記

読者ブロガー

夢幻∞大のドリーミングメディア「あなたとは違うんです」首相の存在感
夢幻∞大のドリーミングメディア
素人サーバ管理者のボランティア業務日誌我が家のD4もようやく機能強化に旅立ちます
素人サーバ管理者のボランティア業務日誌
なにわのITベンチャー社長Blogまず10年間は泥のように働け2
なにわのITベンチャー社長Blog
電子政府パブリックコメントの抜粋火災報知機と情報伝達(意見募集、 2008 年秋)
電子政府パブリックコメントの抜粋
オープンソースJoomla CMSJoomla CMSに投票しよう!
オープンソースJoomla CMS
インフラコンサルティングの最前線ストレス厳しい職場を生き抜くたった1つの知恵
インフラコンサルティングの最前線

企画特集

サーバ仮想化・グリーン化の利点を最大化!サーバ仮想化・グリーン化の利点を最大化!
多機能・高価値なNetAppストレージの秘密とは

新着コメント

mugendaiさん、こんにちは。 記事エントリとは直接関係ないのですが、Mailを......
「あなたとは違うんです」首相の存在感
投稿者:朝之丞
 ソフト屋サンというと常駐系(実質派遣)の会社が多いですね。 派遣法的な免......
まず10年間は泥のように働け2
投稿者:きむこう
確かに、個人の趣味嗜好は知られたくないですねぇ。 こういうときに、「Inco......
「Google Chrome」で動画を観る
投稿者:kirifue
大きい兄弟の秘密諜報員のお仕事ってこういうこと? Chromeのプライバシー......
Google Chrome シークレット モード はフィルタリング可能? 試してみた。
投稿者:ルート134
>グーグル、Google Chromeのアドレスバー「Omnibox」に入力されたユーザー情......
「Google Chrome」で動画を観る
投稿者:ルート134

ブログネットワークとは?

CNET Japan ブログネットワークは、元はCNET Japanの一読者であった読者ブロガーと、編集部の依頼により執筆されているアルファブロガーたちが、ブログを通じてオンタイムに批評や意見を発信する場である「オピニオンプレイス」、また、オピニオンを交換するブロガーたちが集うソサエティです。

広い視野と鋭い目を持ったブロガーたちが、今日のIT業界や製品に対するビジョンや見解について日々熱く語っています。

あなたもブログを書いてみませんか?

CNET Japanやその他サイトが提供するITニュースやコンテンツへの意見や分析、 ビジネスやテクノロジーに対するビジョンや見解について語っていただける方を 募集しています。ご応募はこちらから

ブログの投稿・管理

ブログの投稿はこちらから(※ブロガー専用)

ブログアワード2007開催決定!

今年最も活躍したブロガーを表彰します。詳細はこちらから

αマークって?

これは、CNET Japan 編集部の依頼に基づいて執筆されているCNET Japan アルファブロガーによるブログの印です。

Good!って?

CNET Japan ブログネットワーク内で拍手の代わりに使用する機能です。ブログを読んで、感激した・役に立ったなど、うれしいと思ったときにクリックしてください。多くGood!を獲得した記事は、より多くの人に読まれるように表示されます。

レビュー

[レビュー]高い信頼性を普通に使う地球に優しい電源ユニット--Antec EarthWattsシリーズ EA-650
“自作ユーザーは、電源ユニットに何を求めるのか?”出力なのか、安定性なのか、それとも機能性なのか?難し
今週の新製品総チェック:ノート、デスクトップ、UMPCまでPC秋モデルが続々
富士通、NEC、東芝などのPCメーカーから続々と新製品が登場した。ノートPC、デスクトップPCに加え、注目の
今週の新製品総チェック:薄さ13.9mmのサイバーショット登場!NEC「LaVie」はデザインモデルが
最薄部13.9mmのソニー「サイバーショット」、ニコンのGPS内蔵デジカメ「COOLPIX」など、機能性、デザイン性