2009/02/22(日) Namazuの要約

 保存したブログのファイルをNamazuで検索していて、要約部分が本文の内容を反映していないことに気づいた。Namazuは普通のコマンドでインデックスを作ると、H1など見出し部分を要約の中に取り込む。ココログの場合、メインタイトルがH1、サブタイトルやサイドバーの見出し、日付、カテゴリ、トラックバック、コメントへのリンクなどもH2になっている。Namazuの要約は200文字程度なので、こうした見出し部分を集めると、すぐに200文字に達してしまうのだ。

 見出しを要約に含めないためにはインデックスを作る際、xオプションを付ければいい(HTMLのヘディングによる要約作成を行わないオプション)。これでやってみたが、やはり要約の中になかなか本文が入ってこない。画像を記事の中に入れた場合、imgタグのtitleとaltも要約に拾うのに加えて、ブログは本文にたどり着く前に以前の記事へのリンクなど余計な項目が多すぎるのだ。本文の内容を反映した要約を作るにはこうした余計な部分を削除してファイルを保存する必要がある。これはNamazu本体の方で対応してほしいところ。

 Googleのように検索キーワードの前後を要約の中に含めてくれると理想的だが、それには本文全体をインデックスの中に取り込む仕組みにしなくてはいけないだろう。CGIのmsearchなどはこの方法で、最近使っていないから仕様が変わったかもしれないが、インデックスファイルを開いたら、検索対象全ファイルの全文がHTMLタグを外して一つのファイルに納めてあった。これは結局、ファイルのオープン、クローズの処理は省けても、ファイル数が増えてくると、インデックスのサイズが大きくなるし、メモリーの使用量も多くなるだろう。まあ、テキストだけだったら、個人サイトでは数十MB単位になることは少ないだろうから、メモリーのことはあまり考えなくてもいいとは思う。

 ちなみにこの日記のHTMLファイルのサイズは頻繁に更新していた2005年の1年間(調べたら、364ファイルあった。ほぼ毎日書いていたのだ)で1.19MB。タグを外せば、3、4割減るだろう。