MovableType の検索結果ページなどで,最近に検索対象になった単語を一覧するための MovableType プラグインです。Excite のサーチストリームのように,同じサイトを訪れている自分以外の誰かが,どんなことに興味を持って,どんなキーワードで検索をしているのか表示できれば面白いかなと思って作ってみました。
仕組み
mt-search.cgi で検索が行われると,その検索語彙が MovableType のシステムログに記録されていきます。RecentSearchString プラグインは,このシステムログから検索に用いられた語彙を抽出して表示することができます。特に設定などを必要とせず簡単に導入できますが,その反面,システムログが初期化されてしまうと,検索語彙の一覧もリセットされて表示されなくなってしまうのが珠にキズ。将来的には検索語彙だけ別ログとして残すなどして対応したいところです。まぁ,ビジタへのちょっとしたサプライズと割り切ってご利用くだされば幸いです。
使い方
検索結果ページのテンプレートなどで使用するのが最適です。インデックスアーカイブなどでも動作しますが,再構築されない限り表示される語彙が更新されないので,あまり面白くないかもしれません。定期的に再構築を行えば無理無理いけますが,そこまでする必要性はないような気もします。
MTRecentSearchStrings コンテナタグ
-
システムログから検索語彙を抽出します。抽出する最大数を lastn で指定することができます。それぞれの語彙は glue オプションを利用して結合できます。
MTRecentSearchedString 変数タグ
-
検索文字列を示すために同じ名前のテンプレートタグがありますが,こちらは<MTRecentSearchStrings>の中でのみ動作します。最近に検索に用いられた単語を返します。
いろいろ
- パフォーマンス改善のために SearchResultsCache プラグインと併用すると,最近の検索語彙までキャッシュされてしまうので"最近"じゃなくなります。
- そういう場合にはキャッシュ時間を適当に調整してください
- そんな感じで mt-search.cgi の検索まわりは,まだ面白いところが沢山あるよ。
RecentSearchString のダウンロード
最新版のダウンロードやバグレポートはRecentSearchString の trac レポジトリでも行っています。
開発の継続のためには、技術書の購入やバグの修正、新機能の追加、コメント欄でのユーザサポートなど、意外にお金と時間を費やします。そこで、「ビールでも奢ってやるか」ですとか「これで牛丼(並)でも食え」と仰るお方からのお申し出をいつでも受け付けております。どうぞ、よろしくお願いいたしますm(_ _)m
寄付金の送付には PayPal の小額決済をご利用いただけます。
この記事を読んだ人はこんな記事も読んでいます
MovableType, NovableType, JovableType, KovableType, MIvableType, M9vableType, M0vableType, MPvableType, MLvableType, MKvableType, MoCableType, MoFableType, MoGableType, MoBableType, MovQbleType, MovWbleType, MovSbleType, MovZbleType, MovaVleType, MovaGleType, MovaHleType, MovaNleType, MovabKeType, MovabOeType, MovabPeType, MovablWType, Movabl3Type, MovablRType, MovablDType, MovablSType, MovableRype, Movable5ype, Movable6ype, MovableYype, MovableGype, MovableFype, MovableTTpe, MovableT6pe, MovableT7pe, MovableTUpe, MovableTHpe, MovableTGpe, MovableTyOe, MovableTy0e, MovableTy-e, MovableTyLe, MovableTypW, MovableTyp3, MovableTypR, MovableTypD, MovableTypS
プラグイン
検索
ダウンロード
MT3, NT3, JT3, KT3, MR3, M53, M63, MY3, MG3, MF3, MT2, MT4, MTE, MTW
MT4, NT4, JT4, KT4, MR4, M54, M64, MY4, MG4, MF4, MT3, MT5, MTR, MTE
寄せられたコメント (全 10 件中、最新 5 件まで表示しています)
大変失礼しました。バグ修正版(1.01)をアップしておきましたのでご利用ください。
お世話になります。返信ありがとうございます。
キャッシュは使用していません。また、同じ検索単語は使用せず、その都度異なった数字の列(例えば、1111111111111)でテストを行いましたので、キャッシュされたpageが表示されているとは思えないのです。
それから、テスト環境はクローズドのもので、外部から検索単語が入力されることはありません。
返信が遅くなって申しわけありませんでした。
特に10個という制限は設けていません。
ただし,検索単語のうち重複するものを除いた上で lastn 個を取り出すようにしているので,同じ単語で20回検索が行われても,抽出される単語は最初の1回だけになります。
あと,MT4.2(4.1?)から検索結果ページをMTがキャッシュしているような感じなので,そのあたりも少し気をつけて見て頂けますでしょうか?
<MTRecentSearchStrings lastn="10">とすると、最近に検索された単語を10個表示してくれますが、その後に更新されている検索単語を表示してくれませんね。
最初の10個しか記録しないような仕様なのですか?
試しにログを全部消去し、検索単語を変えながら12回ほど検索を繰り返したところ、11個目以降はログには記録されているのにもかかわらず、表示できません。
このプラグインはダイナミックパブリッシング環境では使用できません。