Toshです。

In message "[ruby-list:22888] Re: [Q] blade internal design"
    on 00/05/24, Ryunosuke Ohshima <ryu / jaist.ac.jp> writes:
>どうぞ、ご利用下さい。一つ書き忘れていましたが、Namazu-2以降のインデッ
>クス専用です。(Namazu-1のインデックスは扱っていません。)
>
>ちなみにnamazuをプロセスとして起動しません。namazu自体がなくても、純
>粋にRubyのみで動作します。

Namazuのインデクスを解釈するコードをRubyで書いた、ということでしょうか?
それはなんかすごいですね。

>From: Toshiro Kuwabara <toshirok / yb3.so-net.ne.jp>
>Subject: [ruby-list:22870] Re: [Q] blade internal design
>Date: Wed, 24 May 2000 01:43:19 +0900
>
>> 僕が見た限りでは、libnmzの使い方は、
>>   (1) nmz-add-indexでインデクスのディレクトリを一つずつ追加して
>>       エンジンを初期化しておく。
>>   (2) nmz_searchで検索すると、結果の構造体のリストが返って来る。
>>   (3) nmz_free_internalでエンジンを解放。
>> の様な感じです。
>
>繰り返し検索する場合には、(3)でnmz_free_internalを呼ぶ代わりに、各イ
>ンデックスのhitnumlistだけを解放して、(2)へ戻れば良さそうな気がしま
>す。けれども、実際にちょっとやってみたところでは、繰り返し検索するう
>ちに落ちてしまいました。

そうです。nmz_free_internalを呼ばないとゴミが残るので、積もり積もると
問題になります。とはいえ、手元で簡単な実験をした限りでは相当な回数
繰り返さないと落ちるまではいかないと思ったのですが、そんなに簡単に
落ちたりしましたか?

>僕もソースを読みきれていないですが、libnmz自体がまだ、繰り返しの検索
>に耐えられるようには、出来ていないようですね。検索直前の状態へ再初期
>化するような関数があれば良いのですが。

そうですねぇ。

# 僕もとりあえず必要だった部分くらいしか読んでません。全て把握するのは
# かなり大変そうです。

---
Tosh
Toshiro Kuwabara