FeedsterというRSS検索エンジンがあるのですが、ここを使ってblog全文検索機能を作る方法を知りました。半分は思いつき、半分はインスピレーション。
FeedsterはクロールしているRSS(勝手にクロールしてくれる場合もありますが、Share your blog with usで登録してやることもできます)をすべて保存してくれるんです。で、それの全文検索を提供しているサービスなわけですが、advancedを見るとわかるように、
Limit to ONLY this RSS url
という機能があり、これによって指定RSSファイルの過去のクロール結果のみから検索することができます。要は、RSSを提供しており、かつ、それをFeedsterが拾ってくれているのなら、この機能を利用すれば、自分のblog全文検索エンジンに利用できるというわけです。
試しに、ここのRSSファイルに限定して"RSS"と検索してみました。
日本語文字化けなし。素晴らしい。現状は、Googleに比べ少々遅いことや、完全な全文検索ではどうやらなさそうということ、数多くのヒットがあった場合、次の10件とかがグローバルに検索した結果になっちゃっていることなど、多少問題ありですが、Googleでインデックス化されるよりも、Feedsterでキャッシュ化されるほうが速いようですし、かなり有効度は高いと思います。Googleの指定URL検索(inurl:)でも良いとは思いますが、RSSを配信しているのであれば、こちらが大幅に劣るということはないと思います。
実際にフォームを作ってみるとこんな感じになると思います。
HTMLのソースは、
<form action="http://www.feedster.com/search.php">
<dl>
<dt><label for="feedster-q">Search this blog:</label></dt>
<dd><input type="text" name="q" size="24" value="" class="edit" id="feedster-q" /></dd>
</dl>
<div>
<input type="hidden" name="hl" value="en" />
<input type="hidden" name="ie" value="UTF-8" />
<input type="hidden" name="sort" value="date" />
<input type="hidden" name="inrss" value="http://hail2u.net/blog/index.rss" />
<input type="hidden" name="inrssid" value="" />
<input type="submit" value="Search" class="button" />
</div>
</form>
toolsで生成することもできるようです。
うーむ。なかなか。Feedsterの存在は知っていたけれど、こういう使い方は思いつかなかった。