Namazu-devel-ja(旧)


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

sort by date problem? (Re: mhonarc filter)



かずひこです。返事が遅くなりました。

# 調べたところ mhonarc フィルタだけの話じゃなくなってきたのでサブジェク
# ト変えました。

At Sat, 4 Aug 2001 13:11:20 +0900,
Kenji Suzuki wrote:

> の X-Date: のフォーマットはどうなっています?
> field.date と違っているのではないでしょうか?

↓こんな感じです (MHonArc 2.4.9)。

(snip)
msg00060.html:<!--X-Date: Thu, 22 Mar 2001 09:35:29 +0900 (JST) -->
msg00061.html:<!--X-Date: Thu, 22 Mar 2001 11:15:10 +0900 (JST) -->
msg00062.html:<!--X-Date: Mon, 26 Mar 2001 09:25:58 +0900 (JST) -->
msg00063.html:<!--X-Date: 30 Mar 2001 09:19:18 +0900 -->
msg00064.html:<!--X-Date: 30 Mar 2001 09:19:23 +0900 -->
msg00065.html:<!--X-Date: 31 Mar 2001 17:32:05 +0900 -->
(snip)

これは、元のメールアーカイブのファイルの、最初に出てくる日付表記 (なので、
Received: の一番上のもの) を取得しているようです。

デフォルトの mhonarc.pl だと、Date: フィールドから field.date を取得して
いるようですね (html ファイルの更新時刻だと思っていたのは勘違いでした)。

(snip)
Thu, 22 Mar 01 09:38:09 +0900
Thu, 22 Mar 01 11:18:02 +0900
Mon, 26 Mar 01 09:27:54 +0900
Fri, 30 Mar 01 09:19:26 +0900
Fri, 30 Mar 01 09:19:32 +0900
Sat, 31 Mar 2001 16:38:05 +0900
(snip)

が、上記のファイルの NMZ.field.date の該当部分です。

で、この index (デフォルトの mhonarc.pl 使用) を namazu --early で検索す
ると、なぜかこうなります。

日付: Sat, 04 Aug 2001 18:51:16 +0900
日付: Thu, 02 Aug 2001 20:13:59 +0900
日付: Tue, 31 Jul 2001 16:30:47 +0900
日付: Mon, 30 Jul 2001 22:34:51 +0900
日付: Mon, 30 Jul 2001 16:36:36 +0900
日付: Thu, 26 Jul 2001 22:21:17 +0900
日付: Thu, 26 Jul 2001 14:49:27 +0900
日付: Thu, 26 Jul 2001 10:20:51 +0900
日付: Mon, 16 Jul 2001 17:02:53 +0900
日付: Tue, 5 Jun 2001 15:34:58 +0900
日付: Mon, 4 Jun 2001 10:28:44 +0900
日付: Mon, 28 May 2001 15:46:10 +0900
日付: Fri, 27 Apr 2001 14:03:46 +0900
日付: Thu, 26 Apr 2001 21:15:13 +0900
日付: Wed, 18 Apr 2001 00:06:50 +0900
日付: Thu, 5 Apr 01 13:14:30 +0900
日付: Mon, 2 Apr 2001 22:56:13 -0400
日付: Tue, 3 Apr 01 11:08:07 +0900
日付: Thu, 22 Mar 01 09:38:09 +0900
日付: Tue, 6 Mar 01 10:04:15 +0900
日付: Mon, 5 Mar 01 19:40:12 +0900

これって --late で期待される出力ですよね?

そこで、問題を切り分けるために、元のメールアーカイブのファイル (MH 形式)
でインデックスを作成してみました。ちなみにできた NMZ.field.date はどちら
のインデックスでも同じでした。

こちらの index を --early で検索すると、↓こうなりました。今度は新しい順
にも古い順にも (ちゃんとは) なっていません。

日付: Fri, 27 Apr 2001 14:03:46 +0900
日付: Thu, 26 Apr 2001 21:15:13 +0900
日付: Mon, 28 May 2001 15:46:10 +0900
日付: Tue, 5 Jun 2001 15:34:58 +0900
日付: Mon, 4 Jun 2001 10:28:44 +0900
日付: Mon, 16 Jul 2001 17:02:53 +0900
日付: Thu, 26 Jul 2001 10:20:51 +0900
日付: Thu, 26 Jul 2001 22:21:17 +0900
日付: Thu, 26 Jul 2001 14:49:27 +0900
日付: Mon, 5 Mar 01 19:40:12 +0900     ←突然 3 月に戻っている
日付: Tue, 6 Mar 01 10:04:15 +0900
日付: Thu, 22 Mar 01 09:38:09 +0900
日付: Mon, 2 Apr 2001 22:56:13 -0400
日付: Tue, 3 Apr 01 11:08:07 +0900
日付: Thu, 5 Apr 01 13:14:30 +0900
日付: Wed, 18 Apr 2001 00:06:50 +0900
日付: Mon, 30 Jul 2001 16:36:36 +0900
日付: Thu, 02 Aug 2001 20:13:59 +0900  ←なぜか 8 月がまぎれこんでいる
日付: Tue, 31 Jul 2001 16:30:47 +0900
日付: Mon, 30 Jul 2001 22:34:51 +0900
日付: Sat, 04 Aug 2001 18:51:16 +0900

検索結果の日付順ソートは、nmz.html によると、NMZ.t をもとになされている
と思うのですが、結果として得られた NMZ.field.date の出力が昇順/降順になっ
ていないという原因はどういうことが考えられるのでしょうか。

さらに、--early と --sort=date:early の出力も異なるようなのですが、この
両者は等価じゃないのでしょうか?