goo blog サービス終了のお知らせ 

ウィリアムのいたずらの、まちあるき、たべあるき

ウィリアムのいたずらが、街歩き、食べ物、音楽等の個人的見解を主に書くブログです(たま~にコンピューター関係も)

P2Pの検索システムって、結局、RSSリーダーの変形でできるんだけどね。

2006-06-22 21:29:23 | Weblog

 yooseeさんからいただいたコメントのお返事にも書いたとおり、いままで、P2Pの検索システムってかいてきたけど、それが、どーいう仕組みなのか、っていうことを書かないと、どこが、どうすごいんか?っていうことが分かりませんよね。
(技術的にはまったくすごくありません。コロンブスの卵です。でも、結果はすごいんです)。

 ということで、今回は、そのしくみについて、書きたいと思います。




■しくみ
 表示部と検索部にわかれます。




■表示部
 検索用語を入れられたら、あらかじめ、登録してある、プロパティファイルをもとに、検索用のHTTPリクエストをだし、検索結果をRSS形式のXMLで受け取ります。

 そのとき、linkにURL、titleを表題、descriptionの部分を、タイトルの下にある言葉として表示します。

 複数の検索用HTTPリクエストを出すので、同じ検索結果先が出てくる場合もありえます。その場合は1つだけ残して、あとは出力しません(同じ結果が複数出てきたほうが、優先順位が高いとかしても、いいかもしれない)。




 具体例を示します。

プロパティファイルに検索先として

ローカルファイル検索:http://127.0.0.1/cgi-bin/kensaku.cgi?p=%%SJIS%%
会社ファイル検索:http://192.168.0.1/cgi-bin/kensaku.cgi?p=%%SJIS%%
YOU TUBE検索:http://www.youtube.com/rss/tag/%%UTF-8%%.rss
YAHOO 商品検索:http://psearch.yahoo.co.jp/search?p=%%UTF-8%%&first=1&ei=UTF-8

と登録してあったとします(ほんとうは、YAHOO検索とか、Goo検索とか、入れたかったのですが、検索結果をRSSで返してくれないので、YAHOO商品検索とします)

ケータイの場合は、ローカルファイル検索のURLのかわりに、
fs:mod/モジュール名
とかなんとか、書き方を変えます。




で、検索用語に
「はいだしょうこ」
と入れられると、その表示部のプログラムは、%%SJIS%%のところはSJISの16進にかえて、
%%UTF-8%%のところは、UTF-8の16進にキーワードを変換して、検索実行のため、Webを呼び出します。

 すると、結果が上記のものの場合、すべてRSSで返ってくるので、その内容のうち、重複を単一化して、表示します。

 なお、ローカルファイル検索と、会社ファイル検索で呼び出されるkensaku.cgi?p=キーワードにかんしては、次の表示部で書きます





■検索部
 ここは、Get型で、検索対象用語が渡されるので(渡し方に関しては表示部のプロパティに記述する)、テキトーに検索を行って、その結果をRSSで返してくれればいいです。

 テキトーな検索って言うのは、たとえば、なまずをつかって、テキストファイルを全文検索するでもOK。結果をRSSで返してくれればいい。
 なんか、もっと複雑で、かつ検索対象が広い検索ソフトをつくってもOK,結果をRSSで返してくれれば、表示部でみられる。

 ってことは、Googleの社員もしらないような、フォーマットを今考えつき、検索用CGIも作った場合でもOK。その検索用CGIをローカルのサーバーにいれ、ローカルでHTTPサーバープログラムを立ち上げ、
 http://127.0.0.1/cgi-bin/その検索用プログラム.cgi?word=%%SJIS%%
みたいなかんじで、プロパティファイルに書き出しておけば、(そのプログラムはwordに与えられた語を検索するものとする)あとは検索命令を上記フォーマットで書ければRSSで返してくれる。以降の処理は同じってこと。




 さらにいうと、社内独特の暗号をかけたもので、社員にはみせるけど、社外の人間には見せないというのでもOK!(ちょっと改造が居るけど)

 プロパティファイルに
  http://192.168.0.1/cgi-bin/kensaku.cgi?p=%%SJIS%%&pass=%%onepath%%
 みたいなかたちで、かいておいて、

 起動時にサーバーからパスワードを受け取り、
 そのパスワードを、検索時、%%onepath%%にセットするっていうことにすれば、

 パスワードが適切なときだけ、暗号を解除して、検索した結果をRSS形式で返してあげればいい。
 もちろん、さらに表示部を拡張し、RSSの内容に暗号をかけ、表示側で、解除してもよい。




■そうすると、社外の検索システムに必要なことは
 検索側のシステムは、社内外とわず、検索用語が指定されたら、結果をRSS形式で返せばいいことになる。逆にいうと、この形式でないと、つかえない。

 ただ、YOU TOBEやYAHOO商品検索のように,商品以外の検索でも、RSS形式で返してくる可能性は、あると思う(ないと、作らないといけないけどね)




 で、この形式でやれば、出版物の検索は、Googleにデータをスキャンさせなくても、検索可能になるんだけど、それについては、長くなるので、別の機会にしますね。

この記事についてブログを書く
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする
« 検索エンジンに特徴が出れば... | トップ | じゃらんWebサービスを使... »
最新の画像もっと見る

Weblog」カテゴリの最新記事