MovableType の検索結果ページなどで、最近に検索対象になった単語を一覧するための MovableType プラグインです。Excite のサーチストリームのように、同じサイトを訪れている自分以外の誰かが、どんなことに興味を持って、どんなキーワードで検索をしているのか表示できれば面白いかなと思って作ってみました。
mt-search.cgi で検索が行われると、その検索語彙が MovableType のシステムログに記録されていきます。RecentSearchString プラグインは、このシステムログから検索に用いられた語彙を抽出して表示することができます。特に設定などを必要とせず簡単に導入できますが、その反面、システムログが初期化されてしまうと、検索語彙の一覧もリセットされて表示されなくなってしまうのが珠にキズ。将来的には検索語彙だけ別ログとして残すなどして対応したいところです。まぁ、ビジタへのちょっとしたサプライズと割り切ってご利用くだされば幸いです。
検索結果ページのテンプレートなどで使用するのが最適です。インデックスアーカイブなどでも動作しますが、再構築されない限り表示される語彙が更新されないので、あまり面白くないかもしれません。定期的に再構築を行えば無理無理いけますが、そこまでする必要性はないような気もします。
<h2>最近検索されたキーワード</h2> <ul><MTRecentSearchStrings lastn="10" glue=", "> <li><$MTRecentSearchedString encode_html="1"$></li> </MTRecentSearchStrings></ul>
MTRecentSearchStrings
コンテナタグMTRecentSearchedString
変数タグ<MTRecentSearchStrings>
の中でのみ動作します。最近に検索に用いられた単語を返します。
master
) ... バグ修正や機能追加など開発途中のバージョンです。開発中の新機能などをいち早く利用できますが、新しいバグが生まれていたり、テストが不十分な場合があります。
寄せられたコメント (全 10 件中、最新 5 件まで表示しています)
キャッシュは使用していません。また、同じ検索単語は使用せず、その都度異なった数字の列(例えば、1111111111111)でテストを行いましたので、キャッシュされたpageが表示されているとは思えないのです。
それから、テスト環境はクローズドのもので、外部から検索単語が入力されることはありません。
返信が遅くなって申しわけありませんでした。
ただし,検索単語のうち重複するものを除いた上で lastn 個を取り出すようにしているので,同じ単語で20回検索が行われても,抽出される単語は最初の1回だけになります。
あと,MT4.2(4.1?)から検索結果ページをMTがキャッシュしているような感じなので,そのあたりも少し気をつけて見て頂けますでしょうか?
最初の10個しか記録しないような仕様なのですか?
試しにログを全部消去し、検索単語を変えながら12回ほど検索を繰り返したところ、11個目以降はログには記録されているのにもかかわらず、表示できません。