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

| コメント(4) | トラックバック(2)

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検索

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

トラックバック(2)

トラックバックURL: http://junnama.alfasado.net/cgi/mt/mt-tb.cgi/428

以前のエントリー「mt-search.cgiの代替プログラム。」で書いたように、 続きを読む

軽量・低機能? のブログ検索プログラム MT4.0βが公開されたので、インストー... 続きを読む

コメント(4)

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

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

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

yhiroakiさん

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

コメントする

Facebook

Twitter

このブログ記事について

このページは、Junnama Nodaが2007年1月25日 18:11に書いたブログ記事です。

ひとつ前のブログ記事は「MovableType Background Rebuilder Plugin(beta6).」です。

次のブログ記事は「残業代で損をするのは誰だ?」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。

Powered by Movable Type 6.2.6