前記ネタを使って、自宅サイトの全文検索のインクリメンタルサーチを Ajax を使って 呼び出してみた。 自宅サイトは、元々 mknmz で、public_html , ハイパー日記 , pukiwiki を全文検索 できるように設定済み。
全文検索結果を XML で返すサーバ側 php スクリプト
前記 namazu モジュールを使い、php-namazu の中の sample 配下の検索&表示スクリプトを変更。 検索結果を XML 形式で返すものを作成。 quick ハックなので、前半に無駄な処理が残っているが、ひとまずは実験。
なお、namazu.cgi 内部で実行されていた検索結果の、 サーバ内の絶対 PATH 表記を対外的な URL に書き換える処理は、 このスクリプト内で実行する必要がある。
全文インクリメンタル検索もどき
Ajax で卒研をしている学生さんが、本をまねて作ったインクリメンタルサーチのサンプルを、 上記 XML 生成スクリプトを呼び出すように変更する。 基本は、javascript の onkeypress イベントに検索処理をくっつけるだけ。
しかし、なぜか文末に「空白」をつけると正しく検索するが、
それ以外だと検索結果が不十分。もう少し解析が必要だな。
それに、firefox では正しく動くけど、IE だとイベント発生のタイミングが違うのか、
直前の入力で検索されてしまう。
入力フォーム内のデータ取得のタイミングの違いだろうな....
それに、漢字データの検索では、検索キーを GET メソッドで呼び出す際に、
escape() により URL エンコードしているが、unicode で検索されているためか、
漢字データの検索がうまくいかない。
うーむ、もう少しだね....
# う、夜更しになっちゃった...眠い...