mt-search.cgiの検索ページを、キーワード検索とタグ検索で表示をわける方法

mt-search.cgiは激重ともっぱらの噂というか事実なんですが、結構あれこれと検索結果をキャッシュしたりするなど、カスタマイズすればなかなか使いやすいです。
というかカスタマイズしないと使い物にならないといった方がいいかもしれません。

通常検索とタグ検索の表示を分岐させるには、以下の条件タグを使って切り替えます。

<mt:IfTagSearch>
「/mt/mt-search.cgi?tag=検索キーワード」 での、タグ検索時に囲まれた内容を処理します。

<mt:IfStraightSearch>
「/mt/mt-search.cgi?search=検索キーワード」 での、キーワード検索時に囲まれた内容を処理します。

例えば、以下のように使えます。

<h1>
 <mt:IfStraightSearch>
  「<$mt:SearchString$>」と一致するもの
 </mt:IfStraightSearch>
 <mt:IfTagSearch>
  タグ「<$mt:SearchString$>」が付けられているもの
 </mt:IfTagSearch>
</h1>

mt-search.cgi の検索結果は、ブログ記事以外のウェブページも検索結果に含まれます。
この結果表示もMTEntryClassLabel (ファンクションタグ) で記事かウェブページか判断して分岐させることができます。

<mt:If tag="EntryClassLabel" eq="ウェブページ">
  <!-- ウェブページの内容 -->
<mt:Else>
  <!-- ブログ記事の内容 -->
</mt:If>

単純に、ウェブページは表示させたくないのであれば以下の記述でもOKです。

<MTUnless tag="EntryClassLabel" eq="ウェブページ">
  <!-- ブログ記事の内容 -->
</MTUnless>

ただ注意しておきたいのは、単純にウェブページを非表示にする方法では、検索結果としてウェブページも数えられてしまっているので、表示される検索結果数に差異が生じてしまいます。