namazu-ml(avocado)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: chasen (Re: Distributed Namazu)
- From: Kaz SHiMZ <kshimz@xxxxxxxxx>
- Date: Thu, 12 Nov 1998 10:32:16 +0900
- X-ml-name: namazu
- X-mail-count: 01588
清水@住友林業です。
Wed, 11 Nov 1998 15:48:47 +0900 に、
Koji Kishi <kis@xxxxxxxxxxxxxxxxx> さんは書きました ;
> chasen が core dump しないような方法をもう一回教えていただけませんか?
> せっかく教えていただいたのに、水と一緒に流れちゃった。
えー、あの時思いついたのは、以下の私のメールの内容です。まず抜粋から。
[namazu:01027] Re: mknmz with chasen stops
---------- 抜粋ここから ----------
Mon, 10 Aug 1998 13:28:50 +0900 に、
Kenji Suzuki <kenji@xxxxxxxxxxxxxxxx> さんは書きました ;
> mknmz に -c オプションをつけて chasen で index してみた
> のですが,同じファイルで process が終わって(死んで)しま
> います.
>
> 111708 byte の SJIS の htmlファイルで,unixでは改行がな
> く1行のファイルなのですが,1行が長すぎるのが原因でしょう
> か?
たぶんそうだと思います。chasen は解析対象の文章を格納する内部バッファを
8192 bytes としています。で、document にはこう書いてあります。
-- 引用ここから --
-jオプションについて
茶筌では通常,改行をもって一つの入力文字列の終了とする.しかし,解析用の
バッファサイズの制限により,解析文が長い(1000文字程度)場合,バッファを使
いきって解析することが不可能となり `Too many morphs' というメッセージを
表示することがある.そのようなときは -j オプションをつければ, 句点(`.'
と`。')を文の区切りとして解析を行うようになるため,長い文章であっても途
中に句点があればほとんどの場合解析できるようになる.
-- 引用ここまで --
というわけで、mknmz の
$CHASEN = "chasen -F '\%m '";
なんていう行を
$CHASEN = "chasen -j -F '\%m '";
とすればいいのではないか、と思います。
---------- 抜粋ここまで ----------
ところが、
[namazu:01096] Re: Segmentation Fault
を読むと、v1.2.1.0-beta-5 から mknmz にこれが取り込まれたので、
(とりあえず手元の v1.3.0.0 or v1.2.0.8 のソースで目視確認済)
どうも私の考えは外れのようです。
というわけで、chasen が core dump する対象文書の URL を教えていた
だければ、debug option だらけの OS/2 port ベータ版でトレースして
みます。
# 現実逃避には格好の材料だったりする :-)
## 某サーバOSの次期バージョンの Final Beta のテストも待っている
## ので、本業が遅々として進まない ;-p
end
--
住友林業株式会社 情報システム部 清水 和佳
TEL: +81-3-5322-6672 FAX: +81-3-5322-6658 Niftyserve: XLW01034
e-mail: <kshimz@xxxxxxxxx>