MovableType の検索結果画面で,関連検索ワードを表示するためのプラグインを作ってみました。関連検索ワードとは,「MovableType」で検索する例で言えば,「MovableType インストール」「MovableType プラグイン」などのように一緒に合わせて検索に用いられているワードのことです。関連検索ワードの取得には Yahoo! Developer Network で公開されている関連検索ワードWebサービスを利用しています。
検索が行われた際に,関連検索ワードWebサービスを利用して,検索に用いられている検索語句の関連検索ワードを取得します。Yahoo! への問合せ結果は例によってCache::Fileモジュールを用いて一定期間キャッシュすることで,レスポンスの向上やサーバ負荷の低減を図っています。
取得できる関連検索ワードは,Yahoo! の検索サイトでの統計情報が基になっていると思われるため,サイトで扱っていない単語が関連検索ワードとして提示されることがあります。当サイトでも,MovableType の検索結果で,"mod_fcgid"という関連検索ワードが表示されていますが,実際にその話題を扱ったことは一度もありません(苦笑) まぁ,これもまたビジタへのサプライズ要素ということで一つ。
なお,このプラグインを使用するには,プラグインファイルの導入だけでなく,Yahoo! Developer Network でユーザ毎にアプリケーション ID を申請取得(無料)する必要があります。そちらも合わせて手続きを済ませておいてください。Yahoo! Developer Network のサイトの左サイドバーを眺めてみると,色々と面白いサービスが目白押しなので,一つくらい持っておいても損はないと思いますヨ。
ダウンロードしたプラグインをサーバ上の plugins ディレクトリにアップロードしてください。アーカイブに同梱されている lib はキャッシュ動作に使用している Cache::File モジュール一式です。既にサーバにインストールされている場合には,こちらのディレクトリは削除してしまっても問題ありません。
プラグインのアップロードが完了したら,管理画面からプラグインの設定を行います。[システムメニュー]-[プラグイン]と進んで,YahooSearchStringUnits プラグインの設定画面を開き,先ほど Yahoo! で取得したアプリケーション ID を設定します。アプリケーション ID を設定しないと,プラグインが動作しませんのでご注意ください。
このプラグインによって追加されるテンプレートタグは,MovableType 標準の検索 CGI の検索結果ページで使用されることを想定しています。インデックスアーカイブなどでは使用することができません。
MTYahooSearchStringUnits コンテナタグMTYahooSuggestedSearchStrings 変数タグMTYahooSearchStringUnits コンテナタグの内部で使用します。現在の検索で使用されているワードの関連検索ワードを返します。
MTYahooSuggestedSearchStringsHeader 条件タグMTYahooSearchStringUnits コンテナタグの内部で使用します。最初の関連検索ワードの時に真になります。
MTYahooSuggestedSearchStringsFooter 条件タグMTYahooSearchStringUnits コンテナタグの内部で使用します。最後の関連検索ワードの時に真になります。
YahooSearchStringUnits プラグインのダウンロード
最新版のダウンロードやバグレポートはYahooSearchStringUnits の trac レポジトリでも行っています。