« MovableType Background Rebuilder Plugin(beta6). | トップページ | 移転します。移転でもないけど。 »

2007-01-25

mt-search.cgiの代替プログラム。

2007/6/6追記:CGI版を公開しました。

mt-search.cgi は実際にビジネスブログ等で使うのはちょっと非力な気がするので (一定時間置かないと再検索できなかったり、タグの中身も検索してしまったり検索速度の問題もあるし) 、代替プログラムを書いてみた。

PHPでMySQLを検索するという手もあるわけだが、MySQL限定っていうのもMTらしくないし、かといって重たくなっても嫌なのでプログラム自体はMT APIを利用したPerlプログラムとして、PHPからPerlを呼び出して検索するようにした。SQLで検索せず正規表現で一つ一つマッチするかどうか見ている。

SQLで検索するよりは不利だけど、CGI起動の待ち時間が無いので体感速度的にはまずまずかと。

同じプログラムでCGIでも動作するように作ったので一応両方同じ動作をする。

ローカルで1000エントリ(SQLite)程度を対象に検索して0.2〜0.3秒。

公開用に設置している以下の環境ではマシンがちょっと非力ではあるけどMySQL、エントリー数は100強。

せっかくなので、

PHP版:
1月31日追記:PHP版をHyper Estraierを使用したものに変更しました。
CGI版:
mt-search.cgi:

※広告↓貼っておいて何ですが、MT構築・カスタマイズは当社へ!


検索結果画面

機能としては、

  1. Blog名(+description)、カテゴリー名(+description)、エントリー名+エントリー本文(+text_more,excerpt,keyword)を対象とする
  2. タグの中身は検索しない (画像のALT属性は検索する)
  3. Blog名、カテゴリー名でも検索するかどうかは設定で変更できる
  4. 指定した件数でページ送り
  5. スペース区切りでand検索

# このまま移転しちまおうかな...

|

« MovableType Background Rebuilder Plugin(beta6). | トップページ | 移転します。移転でもないけど。 »

コメント

1月26日追記;
Ver0.2 処理の高速化。
ブログやカテゴリー情報を一旦ハッシュに入れてから処理するようにして極力DBへのアクセスを減らした。

投稿: Junnama | 2007-01-26 22:10

コメントを書く



(ウェブ上には掲載しません)


コメントは記事投稿者が公開するまで表示されません。



トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/49009/13654790

この記事へのトラックバック一覧です: mt-search.cgiの代替プログラム。:

« MovableType Background Rebuilder Plugin(beta6). | トップページ | 移転します。移転でもないけど。 »