namazu-dev(ring)


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

Re: NMZ.field.*



masao@xxxxxxxxxx (Masao Takaku) wrote:

>> と間に s, n を挟んで、ファイル名で識別するようにしたいと思い
>> ます。(ころころと仕様を変えてすみません)
>
>ファイル名で識別すると、
>Index作成・検索双方でファイル名の確定が面倒ではないですか?

たしかにちと面倒です。


>(手法1) Indexing時に NMZ.sortinfo をつくって、
>  それに、以下のように記入しておく。
>	size	NUMBER
>	subject	STRING
>	from	STRING

これはもっと面倒です。:-)


>(手法2) 基本的に全て文字列としてソートし、
>  先頭の文字が数字だった項目のみ、数値型としてソートする。

これはいいですね。まず最初に (ソートにおいて) 比較する2つの
文字列の両方が数値であるか確認して、そうであれば数値型として
ソートする、そうでなければ文字列としてソートする、というルー
ルでいいでしょう。

「比較する2つの文字列の両方が数値であるか確認」の処理はほと
んどの場合、最初の1文字で決定できるので、この処理に要するコ
ストはごく小さいものでしょう。

また、結果出力時には、文字列が数値であるか確認して、そうであ
ればカンマを入れる、そうでなければそのまま出力する、というルー
ルでいいでしょう。

「文字列が数値であるか確認」の処理はほとんどの場合、最初の1 
文字で決定できるので、この処理に要するコストはごく小さいもの
でしょう。

というわけで、ほかにいいアイディアがなければ手法2を採用した
いと思います。Thanks > たかくさん


>(手法3) そもそも、NMZ.field.* をIndex作成時にソートしておく。

これは私も考えましたが、

>	# 多分Indexingが遅くなるからだめかな?

ので検討をやめました。

-- Satoru Takabayashi