Namazu for PHP

| コメント() | トラックバック(0) |

只今作っています。ええ、作ってしまっています...
はじめは「誰かが作っているだろう」とタカを括っていたので、Googleで探したのです。
であったはあったのですが、どうやらプロジェクトは既に終わってしまっている模様。
でもって誰かがアーカイブとか別に公開しているかなと思い、これも探してみたけどないし...

結局自分でつくっちまうか、ということで現在製作中です。

とはいってもさほど難しくもなく、namazuには既にインターフェースが存在するので、まずはこのインターフェースを使用したライブラリを作成。

本当はPHPのextensionモジュールに直接書いてしまってもいいのですが、namazuのenum定数とPHPのdefine定義が重複してしまってコンパイルエラーとなってしまい、仕方がなくnamazuインターフェースを実装した別ソースを作成して、PHPインターフェースはこいつのポインタを持って使えるようにしました。

大体は出来上がっているのですが、メモリ管理は大丈夫か、とか重い検索でも大丈夫か、などが検証できていません。メモリ管理は多分大丈夫だと思うのですが、なにせはじめnamazuインターフェースはPHPと別個で作っており、Apacheのメモリ管理を真似たソースを自前で実装してこれで管理をしていたので、多少の不安はあります。例えばスクリプトが終了したときのメモリ解放などがそうですね。

まだちょっとだけ時間はかかりそうですけど、公開して追加したいインターフェースなどを聞いてみたいです。自分で作っていると必要最低限しか実装しないので...

で、なんでこんなものを作ったかというと、PHPで全文検索を行いたかったからなんです。現在のnamazuですと、PHPからnamazuコマンドを実行してもSCRIPT_NAMEとQUERY_STRINGをチェックしてnamazu.cgiを実行しろと怒られてしまいますから。

トラックバック(0)

トラックバックURL: http://www.boundless-ocean.ne.jp/mt/mt-tb.cgi/245

Powered by Movable Type 4.27-ja
OpenID対応しています OpenIDについて

このブログ記事について

このページは、Tomochikaが2005年1月21日 00:08に書いたブログ記事です。

ひとつ前のブログ記事は「バカの壁(こうさぎ)」です。

次のブログ記事は「今回はちょっと焦りました...」です。

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