だいたいの MovableType を使った Blog に設置されているサイト内検索のフォームですが、記事が増えてくるとだんだんレスポンスが重くなってきます。
それを、Ajax で解決する方法が、紹介されていました。
暴想: ココログプロとかTypepadとかMTとかブログ人とかその他のブログサービスとかでもAjaxでバックナンバーを検索するJavaScript
http://java.cocolog-nifty.com/blog/2005/12/typepadmtajaxja_c70d.html
あらたにテンプレートを作って、過去のエントリーをすべて JSON 化。読み込んで検索。
右の検索フォームから試してもらうとわかりますが、一度読み込んでしまえば、標準の検索にくらべて格段にレスポンスが良くなります。
検索の度に発生する負荷を、再構築の際にまとめてやってしまえるので、トータルで見たらサーバーに優しいかもしれません。
データを読みこみ時に、読み込み中の表示が出るとわかりやすくていいかもしれません。
prototype.js を使われているので、以下の方法と組み合わせることができそう。(ちょっと試してみたけど、あっさり挫折)
川o・-・)<2nd life - prototype.js の Ajax.Responders.register
http://d.hatena.ne.jp/secondlife/20051119/1132326795
全然関係ない余談ですが、この頃、RSSリーダーやら、Google パーソナライズド・ホームで大量に情報は入ってくるんですが、それを読むのに疲れてしまって、アウトプットできてない気がします。
すでに、同じネタで書かれてるから、いいや。とかありますし。
情報過多を整理してくれるツールが欲しいですね。
今回は、忘れないように作業記録としてメモ。
2005/12/26追記:Safariだと検索結果が文字化けするので、↓のページの関数を組み込みました。感謝。
[ajax] Safari の responseText で UTF-8 コード文字化け回避 ゆうすけブログ
http://kawa.at.webry.info/200511/article_9.html