最近に検索された単語を表示する MovableType プラグイン:RecentSearchString

Posted by
ぴろり
Posted at
2008/03/26 23:59
Trackbacks
関連記事 (0)
Comments
コメント (10)
Post Comment
コメントできます
Category
プラグイン カテゴリ

 MovableType の検索結果ページなどで、最近に検索対象になった単語を一覧するための MovableType プラグインです。Excite のサーチストリームのように、同じサイトを訪れている自分以外の誰かが、どんなことに興味を持って、どんなキーワードで検索をしているのか表示できれば面白いかなと思って作ってみました。

この記事を Delicious に追加する   このエントリーをはてなブックマークに追加  

仕組み

 mt-search.cgi で検索が行われると、その検索語彙が MovableType のシステムログに記録されていきます。RecentSearchString プラグインは、このシステムログから検索に用いられた語彙を抽出して表示することができます。特に設定などを必要とせず簡単に導入できますが、その反面、システムログが初期化されてしまうと、検索語彙の一覧もリセットされて表示されなくなってしまうのが珠にキズ。将来的には検索語彙だけ別ログとして残すなどして対応したいところです。まぁ、ビジタへのちょっとしたサプライズと割り切ってご利用くだされば幸いです。


使い方

 検索結果ページのテンプレートなどで使用するのが最適です。インデックスアーカイブなどでも動作しますが、再構築されない限り表示される語彙が更新されないので、あまり面白くないかもしれません。定期的に再構築を行えば無理無理いけますが、そこまでする必要性はないような気もします。

<h2>最近検索されたキーワード</h2>
<ul><MTRecentSearchStrings lastn="10" glue=", ">
  <li><$MTRecentSearchedString encode_html="1"$></li>
</MTRecentSearchStrings></ul>

テンプレートタグリファレンス

MTRecentSearchStrings コンテナタグ
 システムログから検索語彙を抽出します。抽出する最大数を lastn で指定することができます。それぞれの語彙は glue オプションを利用して結合できます。
MTRecentSearchedString 変数タグ
 検索文字列を示すために同じ名前のテンプレートタグがありますが、こちらは<MTRecentSearchStrings>の中でのみ動作します。最近に検索に用いられた単語を返します。

いろいろ

  • パフォーマンス改善のために SearchResultsCache プラグインと併用すると、最近の検索語彙までキャッシュされてしまうので"最近"じゃなくなります。
  • そういう場合にはキャッシュ時間を適当に調整してください
  • そんな感じで mt-search.cgi の検索まわりは、まだ面白いところが沢山あるよ。

ダウンロード

RecentSearchString のダウンロード

最新版のダウンロードやバグレポートはRecentSearchString の trac レポジトリでも行っています。

ページ下方の Download in other formats → Original Format で取得できます。

この記事を Delicious に追加する   このエントリーをはてなブックマークに追加  


この記事を読んだ人はこんな記事も読んでいます記事リコメンデーションについて

カバー画像:MovableTypeの検索機能を爆速にするプラグイン:SearchResultsCache

関連記事/トラックバック

関連記事/トラックバックはまだありません

この記事にトラックバックを送るには?

寄せられたコメント (全 10 件中、最新 5 件まで表示しています)

Posted by
ぴろり ◆OLEEi.VOX.ぴろり ◆OLEEi.VOX.
at
2008/10/14 14:10
ID
WVN6cWtU
大変失礼しました。バグ修正版(1.01)をアップしておきましたのでご利用ください。
Posted by
footbrainfootbrain
at
2008/10/14 09:51
ID
3r1D1IHg
お世話になります。返信ありがとうございます。
キャッシュは使用していません。また、同じ検索単語は使用せず、その都度異なった数字の列(例えば、1111111111111)でテストを行いましたので、キャッシュされたpageが表示されているとは思えないのです。
それから、テスト環境はクローズドのもので、外部から検索単語が入力されることはありません。
返信が遅くなって申しわけありませんでした。
Posted by
ぴろり ◆OLEEi.VOX.ぴろり ◆OLEEi.VOX.
at
2008/10/11 17:35
ID
F5HXFi1s
特に10個という制限は設けていません。
ただし,検索単語のうち重複するものを除いた上で lastn 個を取り出すようにしているので,同じ単語で20回検索が行われても,抽出される単語は最初の1回だけになります。
あと,MT4.2(4.1?)から検索結果ページをMTがキャッシュしているような感じなので,そのあたりも少し気をつけて見て頂けますでしょうか?
Posted by
footbrainfootbrain
at
2008/10/10 14:09
ID
DgqlY2h6
<MTRecentSearchStrings lastn="10">とすると、最近に検索された単語を10個表示してくれますが、その後に更新されている検索単語を表示してくれませんね。
最初の10個しか記録しないような仕様なのですか?
試しにログを全部消去し、検索単語を変えながら12回ほど検索を繰り返したところ、11個目以降はログには記録されているのにもかかわらず、表示できません。
Posted by
ぴろり ◆OLEEi.VOX.ぴろり ◆OLEEi.VOX.
at
2008/09/16 21:44
ID
CZICl8NU
このプラグインはダイナミックパブリッシング環境では使用できません。

コメントを投稿する

 
 (必須, 匿名可, 公開, トリップが使えます)
 (必須, 匿名可, 非公開, Gravatar に対応しています)
 (必須)
スパム コメント防止のため「投稿確認」欄に ランダムな数字 CAPTCHAについて を入力してから送信してください。お手数ですがご協力のほど宜しくお願いいたします。