Jun 23, 2005

Tagwire Pluginの予告

下記エントリーでも微妙に予告してきました通り、Movable Typeにタグ管理機能を追加するプラグインの高速化を行っています。

Ogawa::Buzz: AllKeywords Plugin vs. Tags Plugin

あらかた動作するものができたのでそろそろ公開する予定ですが、CI的にTagという単語が入っていない「AllKeywords」という名前での普及は限界があるような気がするので、新たに「Tagwire Plugin」という名前を与えることにしました。この変更によって使用感はほとんど変化しませんが、MT-XSearchと連携させている方はテンプレート名などに修正が必要になります。

Tagwire Plugin(AllKeywords Plugin)の特徴は以下の通りです。

  • 日本語タグをサポートしています。残念ながらTags Pluginでは使えません。
  • 柔軟なタグ形式を扱えます。
  • カテゴリーを汚しません。エントリーのキーワード部分だけを使用するため、カテゴリーは本来の利用方法ができます。
  • full-fledgedなタグハンドリング機能を提供します。利用されているタグやその個数をリストアップする機能、指定したタグにマッチするエントリーをリストアップする機能、類似度が高い(現在のエントリーとマッチするタグの数が多い)エントリーをリストアップする機能などが利用できます。
  • 静的にタグアーカイブを生成しない代わりに、MT-XSearchと連携して動的なタグアーカイブの生成をサポートします。タグアーカイブの再構築コストがかからず、また複数のタグを含むエントリーを抽出することもできます。

Tagwire Pluginでの改善点は以下の通りです。

  • タグの入力形式を自然かつ柔軟にしました。
    はてなのように"["、"]"で囲んだ文字列、シングルクォート・ダブルクォートで囲んだ文字列、「,|;」で区切られた文字列、空白で区切られた文字列をタグとして認識するようになります。これに伴い、MTAllKeywords, MTEntryAllKeywordsのdelimiterオプションは廃止されます。
  • 高速化その1。
    エントリーの保存時にPluginDataとしてタグのインデックス情報を生成・保存します。再構築時にはこの情報を参照することで効率を改善します。
  • 高速化その2。
    PluginDataから取得したインデックス情報(PluginDataが使えない場合はDBデータから生成したインデックス情報)をプラグイン内でキャッシュし、複数のTagwireのタグ、複数のテンプレートで再利用することで効率を大幅に改善します。

さてどのくらい高速化されたのかが一番の関心事だと思います。結論から言うと、このブログを「すべて再構築」するのにかかる時間が190秒から96秒に短縮(゚□゚)されました。2倍に高速化されたというよりむしろ今までタグの処理だけで再構築時間の半分以上を使っていたという驚愕の事実!! 比較してはいませんがTags Pluginと比較しても悪くない速度になっていると思いますので、リリースにご期待ください。

とりあえず開発版: http://ogawa.googlecode.com/svn/trunk/tagwire/

2005-06-28追記: 英語ブログではリリースしてあります。日本語のドキュメント書きが遅れているので少々お待ちください。英語ブログではなぜかドイツ人から集中的にコメントとトラックバックがやってきています。

2005-07-01追記: というわけで日本語のブログでも公開しました。下記のエントリーをご参照ください。

About Me

My Photo

つくばで働く研究者

Total Pageviews

Amazon

Copyright 2012 Ogawa::Buzz | Powered by Blogger
Design by Web2feel | Blogger Template by NewBloggerThemes.com