文書が更新されているかどうかの判定について
2005-11-25


mknmz は、文書が更新されているか否かを判断するのにデフォルトではタイムスタンプを用います。

加えて、--check-filesize オプションを用いることで、タイムスタンプが同一であってもファイルサイズが異なるものも文書の中身が更新されたとみなすようにできます。(Namazu 2.0.13 以降)

インデックスは大きくなってしまいますが、これに md5sum や sha1sum 等を用いるのも良いだろうと思います。
md5sum や sha1sum は文書の一部が変更された場合でも値が大きく変化するものですので、文書が修正されたかどうかの判断に用いるのには適しています。(というより、そもそもそういう目的のためのものですし)

ただ、md5sum なら1文書につき128bit=16バイト追加、sha1sum なら160bit=20バイト追加ということですから、文書数が多い場合にはインデックスサイズの増加の影響が大きいかもしれません。(バイナリの場合)

md5sum, sha1sum を使うと、ファイルを移動した文書またはファイル名を変更した文書をうまく取り扱うことができるかもしれません。
もっとも、まったく別の文書であっても md5sum, sha1sum の値が同一になる可能性はあるので、単独で用いるのではなく、md5sum と filesize やタイムスタンプ等と併用する等工夫は必要でしょう。
[NG]

コメント(全1件)
コメントをする


記事を書く
powered by ASAHIネット