« MovableType Background Rebuilder Plugin(beta6). | メイン | 残業代で損をするのは誰だ? »

mt-search.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, Web制作・ビジネス, プログラミング

トラックバック

この一覧は、次のエントリーを参照しています: mt-search.cgiの代替プログラム。:

» Hyper EstraierでMovableType検索。 送信元 Junnama Online
以前のエントリー「mt-search.cgiの代替プログラム。」で書いたように、 [詳しくはこちら]

» MTLiteSearch(mt-search.cgiの代替プログラム)。 送信元 Junnama Online (Mirror)
軽量・低機能? のブログ検索プログラム MT4.0βが公開されたので、インストー... [詳しくはこちら]

コメント (4)

Junnama:

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

Junnama:

3月16日追記:
FastCGIにしたらCGI版もそこそこのスピードが出るようになった。

はじめまして。
作成されたmt-search.cgiの代替プログラムは公開されているわけではないのでしょうか。
mt-search.cgiをなんとかできないかと思い検索エンジンから記事をみつけ、公開されていると(勝手に)思い、リンクを「対象をファイルに保存」などしてみたのですがcgiが実行されてしまいます。

Junnama:

yhiroakiさん

Junnama です。
やっつけで書いたものなので、公開はしていません。時間があったらちゃんと作り直したいと思っているのですが。
Hyper Estraierと連動させるプラグインは、仕事の方で使おうと考えていますので、CGI版をいずれ公開したいと思います。

トップページ | アーカイブ(このブログの全てのエントリーの一覧)

About

2007年01月25日 18:11に投稿されたエントリーのページです。

ひとつ前の投稿は「MovableType Background Rebuilder Plugin(beta6).」です。

次の投稿は「残業代で損をするのは誰だ?」です。

他にも多くのエントリーがあります。メインページアーカイブページも見てください。

広告

Powered by
Movable Type 3.34