mod_search_rast 0.0.2リリース。複数のテンプレートとエンコーディングをサポートしA9 OpenSearchやRSS 1.0など、検索結果のXMLによる取得などなどをサポートしました。ってテストしてませんけど(汗)
version 0.0.2での変更点
主にA9 OpenSearch対応を主眼に改修を加えました。version 0.0.1ではテンプレートは同時に1種類しか指定できませんでしたが、version 0.0.2ではRastAddViewディレクティブを使用して、任意の数のテンプレートを使用することが可能になりました。RastAddView osrss /path/to/a9_opensearch.xml "application/xml; charset=UTF-8" RastAddView rss10 /path/to/rss10.rdf "application/rss+xml; charset=UTF-8" RastAddView google /path/to/googlike.html "text/html; charset=EUC-JP"上記のような設定で検索結果を3種類の形式で取得できます。一つ目は A9 OpenSearchに(たぶん)対応した形式のXMLで、エンコーディングはUTF-8。二つ目はRSS 1.0でエンコーディングは同じくUTF-8。三つ目はデフォルトとは別の見た目のHTMLによるページで、エンコーディングはEUC-JPです。また、mod_search_rastはRastAddViewで指定したcharsetを元に、出力するコンテンツのエンコーディングを決定します。変換にはICUライブラリを使用しています。
これらRastAddViewディレクティブで指定したテンプレートはURIのパラメータtype=で指定できます。例えばA9 OpenSearchに登録するURLは次のような形式になるでしょう。
http://www.example.com/search?q={keyword}&type=osrss&ie=UTF-8ちなみにURIパラメータ ie= で入力される検索ワードのエンコーディングを指定できます。
サンプルとして
- sample/a9_open_search.xml
- sample/rss10.rdf
見た目重要
サンプルテンプレートを作る過程で、デフォルト(内蔵)のテンプレートもちょっと変更してGoogle風(いいのかなぁ...)にしてみました。馴染みがあって良いかなと。ちなみに色もGoogleしたい場合は sample/googlike.htmlファイルをRastSetResultViewディレクティブで指定してあげてください。あ、version 0.0.1では、検索結果の画面で使用するテンプレートはRastResultTemplateディレクティブを使用していましたが、version 0.0.2ではRastSetResultViewディレクティブに名称が変更されましたので注意っす。
ダウンロード
version 0.0.2からICUが必須になりましたので注意してください。ICUが無い場合はエンコーディング変換機能を潰すとか、工夫した方がいいのかもしれませんね。例によってMac OS X 10.3.9でしかテストしてません。mod_search_rast 0.0.2