2009年11月02日
検索結果に類似キーワードを表示する - もしかしてMovable Type?
Power CMS for MTにはMovable Type標準の検索以外に2種類の独自の検索のしくみを持っています。1つはすべてのエディションに標準で付属しているPHPを利用したSQL検索(AltSearch)、もうひとつはEnterpriseエディションに付属しているPowerSearchです。
AltSearchではカテゴリや日付による検索結果の絞り込み、表示順の指定、ページ送りなど、PowerSearchではPDFやMS Officeドキュメントを含む全文検索が可能です。
これらの検索のしくみを使って『「もしかして」検索』と呼ばれる類似キーワードの表示や特定キーワードの検索リクエストに対して特定のページへの導線(リンクやバナー等)を表示させることが可能です。
以下の例はPowerCMSテンプレートセットをインストール済みの環境で、各テンプレートに対して記述する方法です。ここでは、検索ワード「MT」で検索された結果に「Movable Type」を類似語として表示させる例をご紹介します。
AltSearch(「検索結果(ダイナミック)」テンプレート)での記述例
<mt:altsearchquery setvar="search_query">
<mt:if name="search_query" eq="MT">
<p>
もしかして
<a href="<MTAltSearchurl>?query=Movable%20Type">
「Movable Type」
</a>?
</p>
</mt:if>
LogViewerプラグインのアクセスログ表示では、サイト内検索の検索語とマッチした件数の統計が確認できますので、検索にマッチしなかった語に対する代替検索語を提供したり、特定の検索語での検索リクエストに対してランディングページへのリンクやバナーを表示することでサイトのユーザビリティを上げることが可能です。
PowerSearch(「Hyper Estraier 検索結果」テンプレート)での記述例*
* MTEstraierMetaブロックタグ内に記述する必要があります。Enterprise版のみで利用可能。
<mt:if name="__qurey__" eq="MT">
<p>
もしかして
<a href="<$MTCGIRelativeURL$><$MTEstraierScript$>?query=Movable%20Type&blog_id=<$MTBlogID$>&[...other parameter]">
「Movable Type」
</a>?
</p>
</mt:if>
likeモディファイアの正規表現によるマッチングを活用すれば、より柔軟にカスタマイズが可能になります。是非ご活用ください。
- カテゴリー
- テンプレート作成Tips
- 技術情報
コメントを投稿する