この記事の内容は、時間経過およびプログラムやシステムのバージョン アップなどの事情によって、現状に正しくそぐわない内容、またはそれどころか、場合によっては問題を引き起こす可能性があります。参考程度に留め、関連記事やアーカイブを検索してみてください。
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 を設定しないと、プラグインが動作しませんのでご注意ください。
<MTYahooSearchStringUnits lastn="3"> <MTYahooSuggestedSearchStringsHeader> <h1>関連検索ワード</h1> <ul> </MTYahooSuggestedSearchStringsHeader> <li><$MTYahooSuggestedSearchStrings$></li> <MTYahooSuggestedSearchStringsFooter> </ul> </MTYahooSuggestedSearchStringsFooter> </MTYahooSearchStringUnits>
このプラグインによって追加されるテンプレートタグは、MovableType 標準の検索 CGI の検索結果ページで使用されることを想定しています。インデックスアーカイブなどでは使用することができません。
MTYahooSearchStringUnits
コンテナタグMTYahooSuggestedSearchStrings
変数タグMTYahooSearchStringUnits
コンテナタグの内部で使用します。現在の検索で使用されているワードの関連検索ワードを返します。
MTYahooSuggestedSearchStringsHeader
条件タグMTYahooSearchStringUnits
コンテナタグの内部で使用します。最初の関連検索ワードの時に真になります。
MTYahooSuggestedSearchStringsFooter
条件タグMTYahooSearchStringUnits
コンテナタグの内部で使用します。最後の関連検索ワードの時に真になります。
master
) ... バグ修正や機能追加など開発途中のバージョンです。開発中の新機能などをいち早く利用できますが、新しいバグが生まれていたり、テストが不十分な場合があります。
寄せられたコメント (全 1 件中、最新 5 件まで表示しています)
MT4.21にYahooSearchStringUnitsプラグインをインストールし、正常に動作していたのですが、
MT4.25にアップデートしたところ検索結果ページが文字化けするようになりました。
DBはsqlit、文字コードはUTF-8です。