namazu-ml(avocado)


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

Re: Call for beta test with v1.2.1.0-beta-12 (Re: How to index updated files)



Tomoko Yoshida <tomoko-y@xxxxxxxxxxxxxxxxxxxxx> wrote:

>> | 確かにその通りです。文書の更新に合わせたインデックスのアップデート
>> | は以前から方法だけは決まっていて
>> 
>> の方のやる気がでてきたので、さっさと v1.2.1.x を片付けたくなりまし
>> た。やる気がなくならないうちに手を始めたいところです :-)。
>
>是非、お願いします! その機能がつくと、私はすんごくうれしいです。
>楽しみにしています。

そう言われるとやらないわけにはいきません :-)。今日はその作業をして
いました。もともと単純な方法なので既に大部分は完成しているのですが、
ひとつ困ったことがあります。

文書の更新を検出するためには元のファイルのタイムスタンプを記録して
おく必要があるわけですが、これを検索結果の日付によるソート (既に動
いています) に利用しない手はありません。この情報は NMZ.t として保
存します (pnamazuと同じです)。

Mail/News の場合はファイルのタイムスタンプよりヘッダの Date: の方
があてになるのでそれを NMZ.t に記録したいところです。ところが、そ
うするとファイルの持つタイムスタンプと食い違ってしまいます。

日付によるソートには Date: を使いたいが、ファイルの更新を知るには
タイムスタンプが必要である。かといって両方記録するのはもったいない 
(大したサイズでもありませんが)。

別の手段としては Date: の日付に合わせてファイルのタイムスタンプを
強制的に変更してしまう方法も考えられるのですが、これはちょっと乱暴
に思えます。

...

それはともかく、この調子なら割とあっけなく文書の更新に対応したイン
デックスのアップデートおよび日付によるソートの機能が実現しそうなの
で、このさい v1.2.1.0 はスキップして v1.3.0.0 としてリリースしよう
と考えています。これが完成すれば全文検索システムとしての一通りの機
能が揃うことになるんじゃないかと思っています。


おまけ --FYI

NMZ.* のファイルは数/サイズとともに増加の一途を辿り、インデックス
の作成にかかる時間も以前と比べて負担が大きくなってきました。あれや
これやと機能が追加されていますが、それらが不要な方は

| インデックスのサイズを小さくしたい
| 
|    mknmz実行時に
|      * -u: uuencode と BinHex の部分を無視する
|      * -H: 平仮名のみの単語は登録しない (ディフォルトでは登録を行う)
|      * -G: 送り仮名を削除する (ディフォルトでは含める)
|      * -K: 記号はすべて削除する (ディフォルトでは登録を行う)
|      * -P: フレーズ検索用のインデックスを作成しない (ディフォルトでは作成
|        する)
|      * -R: 正規表現検索用のインデックスを作成しない (ディフォルトでは作成
|        する)
|      * -X: フィールド検索用のインデックスを作らない (ディフォルトでは作成
|        する) -- v1.2.1.0 以降
|        
|    といったオプションをつけてください。サイズ、作成時間ともに半分 以下程度
|    に短縮するものと思われます。

をお試しください。 FAQ.html にも書いておきました。

-- Satoru Takabayashi