Namazu-devel-ja(旧)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: rbnamazu-0.2
- From: Masatoshi SEKI <m_seki@xxxxxxxxxxxxxxxxx>
- Date: Tue, 27 Jun 2000 02:36:16 +0900
- X-ml-name: namazu-devel-ja
- X-mail-count: 00599
- References: <20000626043818R.ryu@jaist.ac.jp>
咳といいます。
> rbnamazuで正規表現検索ができるようになりました。ドキュメントも日本語
> のものを作成したので、まとめてVersion 0.2としてftp.namazu.orgに置か
> せていただきました。
手元のインデックスで、つぎのエラーが出ました。
./rbnamazu.rb:245:in `seek': bignum too big to convert into `int' (ArgumentError)
from ./rbnamazu.rb:245:in `get_docids'
from ./nmzqr.rb:259:in `initialize'
from ./nmzqr.rb:85:in `new'
from ./nmzqr.rb:85:in `search'
from ./rbnamazu.rb:428:in `search'
from ./nmzdoc.rb:70:in `initialize'
from namazu.rb:102:in `new'
from namazu.rb:102
いろいろ試したところ、phraseindexfile.read(4)が [255,255,255,255] を
返していました。インデックスファイルの構造はわからないのですが、
0xffffffff のようなパターンになることがあるのでしょうか?
とりあえず、以下の様に 0xffffffff を無視するようにすれば動きました。
他の NMZ.*i ファイルにも同様なパターンはないのかな。
Index: rbnamazu.rb
===================================================================
RCS file: /home/mas/lib/cvsroot/labo/ruby/rbnamazu/rbnamazu.rb,v
retrieving revision 1.2
diff -u -r1.2 rbnamazu.rb
--- rbnamazu.rb 2000/06/26 15:45:24 1.2
+++ rbnamazu.rb 2000/06/26 17:32:39
@@ -239,7 +239,7 @@
phraseentityfile = @phraseentityfile
phraseindexfile.seek(hash * 4, 0)
index = phraseindexfile.read(4).unpack('N')[0]
- if index
+ if index and index != 0xffffffff
wstring = ''
tmpdocids = nil
phraseentityfile.seek(index, 0)