大島です。

僕もbladeには詳しくありませんが、namazuモジュールについて。

From: Takayuki YAMAGUCHI <tyamaguchi / geocities.co.jp>
Subject: [ruby-list:22744] Re: [Q] blade internal design
Date: Sat, 20 May 2000 00:55:09 +0900

> At 0:20 +0900 2000.5.20, Hideto ISHIBASHI wrote:
> >あちこち調べましたが、Rubyからnamazuの機能を呼び出す
> >拡張モジュールは無いようですね。
> 
> はい、ありません。

拡張モジュールではありませんが、Rubyのみでnamazuのインデックスの内容
を読み出し、スコアの計算をおこなうrbnamazuを書いています。

以下のURLに、といあえず、おいておきます。
http://shinoda-www.jaist.ac.jp/Projects/hige/src/namazu.rb

コマンドラインとしても、CGIとしても、とりあえず動作するようにしまし
た。動くことを第一に作成したので、まだ汚く、コメントもなく、例外処理
がちゃんとしていません。

本家namazuとの違いは、たくさんあります。
1 基本的な動作
	a AND検索しか出来ない。
	b 1つのindexしか扱えない。
	c tfidfによるスコアが微妙に違う。
2 .namazurcまわりについて
	a .namazurcを1つしか読み込まない。
	b loggingを未実装。
	c lang切り替えを未実装。
	d scoringはtfidfのみ。
	w EmphasisTagsを未実装。
3. オプションまわりについて
	a defaultで'--all'の動作。
	b '--output=FILE'を未実装。
	c '--quiet'を未実装。
	d '--debug'を未実装。

実際にCGIとして以下のURLで動いています。
http://shinoda-www.jaist.ac.jp/cgi-bin/namazu.rb
(imode用のhtmlを返すので、他のブラウザだと一部文字化けします。)

> namazu自体が、library化を進めて、外から(プロセス起動ではなく)
> 呼べるようになった(正式版として)のは今年の2月ですから。
> 
> #うーん。やっぱりSwigかなんかで、とりあえずmoduleを作って
> #みるべきかなぁ。
> #どう思います>大島さん(とかいきなりふってみたりする)

僕の念頭には拡張ライブラリ化はなかったですし、SWIGを触ったことも拡張
ライブラリを作った経験もないので、あまり良くわかっていません。ただ、
namazu自体がちょうどライブラリ化されているので、SWIG/Rubyなどで結構
簡単に拡張ライブラリ化できる気はします。

大島 龍之介	ryu / jaist.ac.jp