Namazuショック

Namazuのインデックス作成(mknmz)に時間がかかりすぎる。
たとえばqwertyの5MBぐらいのHTMLファイルにいたっては、6800秒ほどかかっている。
しかも、以下のようにファイル個別にインデックスを追加しているのだが、うかつに「--no-delete」オプションをはずして実行してしまったところ、いままで作っていたインデックスが削除されてしまった。*1

mknmz -O c:\namazu\var\namazu\index\zanzan --no-delete --allow=20050720\.html e:\logdata\zanzan

このように巨大HTMLのインデックス化に時間がかかる&ちょっとした誤動作でインデックスが使えなくなる、という問題があるので、Namazuのインデックス対象ファイルはdat形式で、かつ書き換えていない引用部分を削除しておくというスリム化を図っておこうと思う。

つづき

smalldat形式(投稿者、メール、タイトル、書き換えていない引用部分は削除したメッセージ、トピック名だけのCSVファイル)を作ってこれをnamazuにかけたところ、非常に高速にインデックス作成が行えるようになった(たとえば7/22付の暫定退避のログなら5秒)。やはりHTML形式が重かったようだ。

つづき2

Namazuの検索のほうはやはり大変に軽快である。この検索結果とgetlog検索の連携を図れば、とてつもなく便利になるだろう。
あと、スコアリングも使い方によっては結構使える。
それと、日次のキーワード出現数を別途sov退避のほうでトップ100までDB化しているので、これも検索結果に表示すれば非常に使いやすい。というかこのDBデータはgetlogのほうでも使える。

smalldat公開

smalldat形式のログファイルを以下の場所に公開することにした。
http://strangedb.ath.cx/smalldat/

上記に述べたとおり、以下の加工を施したファイルである。

  • 投稿者、メール、タイトル、メッセージ、トピック名のみを抽出
  • Excel対応のCSV形式(扱い方は大崎氏の「Perlメモ」参照)
  • さらに、メッセージについては引用部分が元記事と比較して変更されてない場合(つまり、書き換えられてない場合)、引用部分を削除してスリム化している
    • 少しでも書き換えられていたり、ログファイル上に引用した記事の元データがない場合は、引用部分を完全に残している

全文検索のインデックス化に特化するため、メッセージIDや日付、親記事IDなども消去している。そのため、全文検索ぐらいにしか使えないかもしれない。

*1:正確にはNMZ.tに削除フラグが立ってしまった。そのためインデックス情報は残っているが、復旧方法は不明