RPC.phpのバグ
2006年07月27日 プログラミングTIPS
AWS、BWS、楽天に対応した[Z]ZAPAnetサーチ2.0で書いた「日本語キーワードの関連語が取得できない」件ですが、原因が見つかりました。
最初は、自分で作ったプログラムソースをいくら解析してもバグが見つからないので、はてな側で何かバグがあるのではないかと探してみました。
→はてなダイアリーキーワード連想語APIとは - はてな
を見ても、バグや改訂の様子もなく原因が掴めませんでした。
次に、このAPIを使ったサイトを探してみると以下のサイトが見つかりました。
→Ajax と OpenSearch と はてなダイアリーキーワード連想語 API を使ったはてな検索のデモ
このサイトで、日本語の検索を行ってみると…
「あれっ、ちゃんと表示されてる!?」
サンプルソースも配布されていたので、中身を確認してみましたが、特別な処理は一切行われていませんでした。
サンプルソース以外にも同梱のライブラリが添付されていたので、それをチェックしてみると…!
最初は、自分で作ったプログラムソースをいくら解析してもバグが見つからないので、はてな側で何かバグがあるのではないかと探してみました。
→はてなダイアリーキーワード連想語APIとは - はてな
を見ても、バグや改訂の様子もなく原因が掴めませんでした。
次に、このAPIを使ったサイトを探してみると以下のサイトが見つかりました。
→Ajax と OpenSearch と はてなダイアリーキーワード連想語 API を使ったはてな検索のデモ
このサイトで、日本語の検索を行ってみると…
「あれっ、ちゃんと表示されてる!?」
サンプルソースも配布されていたので、中身を確認してみましたが、特別な処理は一切行われていませんでした。
サンプルソース以外にも同梱のライブラリが添付されていたので、それをチェックしてみると…!
PEAR :: Package :: XML_RPCのバージョンに古いものを用いていました!
もしかして、このライブラリが原因かもしれないと、現在自分のサーバー上で使われているRPC.php,v 1.99を使わずにRPC.php,v 1.88に切り替えてみました。
すると!
「ちゃんと表示された!」
どうやらPEARを最新版にアップグレード(アップグレード方法はPEARのアップグレードメモ参照)したときに、RPC.phpに日本語関連のバグ(もしくは仕様変更)が発生していたようです。
差分を取って中身を確認してみようかと思いましたが…
< * @copyright 1999-2001 Edd Dumbill, 2001-2006 The PHP Group複雑そうだったのでやめました。
< * @version CVS: $Id: RPC.php,v 1.99 2006/06/16 16:00:54 danielc Exp $
---
> * @copyright 1999-2001 Edd Dumbill, 2001-2005 The PHP Group
> * @version CVS: $Id: RPC.php,v 1.88 2005/10/15 20:29:43 danielc Exp $
以下続く...
続いて、v1.88よりもう少し新しいv1.95で試してみたところ、これも正常に動作しました。
< * @copyright 1999-2001 Edd Dumbill, 2001-2006 The PHP Group自分で作ったプログラムでも、提供されていたAPIのバグでもなく、PEARのライブラリに問題があるとは気付きませんでした。
< * @version CVS: $Id: RPC.php,v 1.99 2006/06/16 16:00:54 danielc Exp $
---
> * @copyright 1999-2001 Edd Dumbill, 2001-2005 The PHP Group
> * @version CVS: $Id: RPC.php,v 1.95 2006/04/16 15:04:53 danielc Exp $
以下続く...
取りあえずは最新版ではなく、少し古いバージョンのライブラリを使うことにします。
[Z]ZAPAnetサーチ2.0の方の挙動も正常に直ったので、ぜひ関連語巡りをしてみてください。
例えば、[Z]ZAPAnetサーチ2.0を開いて、注目のキーワードのところに以下のリンクがあった場合…
沢尻エリカ / 夏川結衣 / 石田えり / タワーマンション / 岡本綾沢尻エリカのリンクをクリックすると、関連キーワードが表示されます。
沢尻エリカ関連キーワード ( by はてなダイアリーキーワード連想語API )ここで、関連キーワードで気になったリンクをクリック。例えば、問題のない私たちをクリック。
| 問題のない私たち | 天国 | ABC | ポイント | 澤尻義勝 | MBS | 写真集 | 2006年 | フランス人 |
問題のない私たち関連キーワード ( by はてなダイアリーキーワード連想語API )そして、黒川芽以をクリック…。
| 小貫華子 | 沢尻エリカ | 黒川芽以 | ISBN | 美波 | 少女漫画 | 映画 | 野波麻帆 | 森絵梨佳 |
沢尻エリカ→問題のない私たち→黒川芽以→以下続く
と関連キーワードで次々と検索していくことができます。
「こんな作品に出てたんだ!」
「こんな商品あったんだ!」
という発見があったりもしますので、一度遊んでみてください。