namazu-dev(ring)


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: internal/suffix match



Rei FURUKAWA <furukawa@xxxxxxxxxxxxxxxx> wrote:

>日本語の中間一致、後方一致を正規表現検索として扱うときに、NMZ.w を日本
>語の先頭まで seek しておいたほうが、速くなるはず、と思います。

確かにそうですね。単純に考えると 2倍くらい速くなるかな?


>(2) 世界進出との兼ね合い
>
>この話は、ASCII と EUC-JP が、必ず別の単語に分かれることが前堤になって
>います。Latin などでは、ASCII と共に一つの単語を構成することがあるので、
>適用できません。何らかの方法で、seek する/しないを切り換える必要があり
>そうです。そういった意味では、(1) は mknmz で行なうようにして、ついでに
>日本語かどうか判断するようにしたほうがいいかも。

そうですね。最上位ビットを用いる character encoding はEUC-JP 
の他にもたくさんあるので、安易に EUC-JP に特化した処理を行う
と、国際化 (こそばゆいな) の点でよくないですね。

Perl 5.6[*1] では内部コードが UTF-8 になるし、 Ruby からもらっ
てきている regex.[ch] でも UTF-8 が扱えるようなので、将来的
には Namazu でも UTF-8 を採用することになると思います。

というわけで、今さら EUC-JP に特化したコードを取り入れるのは
抵抗があります。そういうオプションをつけるという手はあるけど
ちょっと汚いような…。

References:

   1. <http://www.perl.com/cgi-bin/pace/pub/1999/06/perl5-6.html> 

# 正規表現の再帰定義ができるって、なんだかすごそう :-)

p.s.
ChangeLog に記入してもらえます? > 古川さん [namazu-dev 442]

-- Satoru Takabayashi