namazu-ml(avocado)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: field specified search
Rei FURUKAWA <furukawa@xxxxxxxxxxxxxxxx> wrote:
>> さすがに今の仕組みのままで Date: Subject: などを NMZ.i, NMZ.w に記
>> 録していくとひどく効率が悪くなるのでフィールドのインデックスは別の
>> ファイルに分けた方が良さそうです。たとえば NMZ.field.date,
>> NMZ.field.subject みたいな感じで (形式は単なる行指向のテキスト)。
>
>NMZ.f から検索するようにしてもらえると、よく使うフィールドを対象にする
>分にはデータベースが増えないので、少しうれしいのですが…
あ、そういう方法も考えられますね。ディフォルトでは Subject: From:
Date: が入っていますし。NMZ.fのフォーマットは今のままでは都合が悪
いのでいずれ変更しようと思っています。
>(検索したいフィールドは、要約に入れるように設定してもらう)
ただ、メタ的なデータだと要約に表示されても嬉しくないのですよね。
Message-Id とか。 NMZ.fの中で表示/非表示を指定するようにすれば良い
のですが。
検索の効率的には NMZ.field.subject, NMZ.field.date みたいにファイ
ルを分けた方が良いはずです。 2万通のメイルくらいになると NMZ.fにひ
とまとめの方法だとサイズがかなり大きく (15MBくらい?) なりますし。
まとめると
1. bit演算で実現する (NMZ.iの拡張)
◎ データベースのサイズは増えない
× フレイズ、正規表現の検索はできない
◎ 検索効率は最高 (通常の単語検索の速度)
× 拡張性はない
× 実装が面倒
2. 新たに NMZ.field.{subject,from.date,...} を作る
× データベースのサイズは増える
◯ 正規表現がばりばり使える
△ 検索効率はそこそこ (行指向のgrep)
◯ 拡張性がある。
◎ 実装は最も単純
3. NMZ.f のフォーマットを変えて対応する
◯ データベースのサイズはほとんど増えない
◯ 正規表現がばりばり使える
× 検索効率は悪い
◯ 拡張性がある。
◯ 実装は簡単
のようになりますけど、どれが良いでしょうね? 私としては 2. か 3. か
で迷うところです。うーむ。
-- Satoru Takabayashi
デイタベイスと書く人っているのかしらん?