namazu-dev(ring)


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

NMZ.f vs NMZ.field (Re: namazu's command line options)



Rei FURUKAWA <furukawa@xxxxxxxxxxxx> wrote:

>mknmz を深く使いこなしていないので、よく分かっていないのですが、NMZ.f
>のファイル名は、REPLACE か何かで、他のものに置き換わる場合はありますか?

えっと、質問の意味がわかりません。ファイル名がなぜ重要なので
しょう?


>satoru-t> 統合すればいいんじゃないかと考えています。NMZ.field.summary 
>satoru-t> を追加するなりして。
>
>今までは、NMZ.field.* の用途は「フィールド検索」だけだったので、ファイ
>ルの頭から読めばよかったですが、「タイトルによるソート」などをやろうと
>すると、文書番号からタイトルが引けないといけないですよね。そうなると、
>NMZ.field.title.i (仮称) が欲しくなりそうです。

その通りです。

# NMZ.field.size を新設したとして、サイズによるソートを考え
# ると、 numeric なソートを考慮する必要がありますね。あるい
# は桁数を決めて頭に空白を埋めておくとか。(commaもあらかじめ
# 打っておくと後が楽かな)


>他のフィールドでもソートできるようにしようと思うと (思わなければ別に
>いいのですが) それぞれのフィールドについて NMZ.field.*.i が欲しくなり
>そうです。

そうです。また、検索結果の表示の際に NMZ.field.* から現在の 
NMZ.f に相当する情報を動的に組み立てるには NMZ.field.*.i が
不可欠です。


>と、考えると、逆に、NMZ.field.* を廃止して、NMZ.f + NMZ.fi に統合した
>ほうが、いいのではないか、と思います。

うーん、 2つの方法を比べると、

NMZ.field.* + NMZ.field.*.i に統合する方法

  利点
    * フィールド指定の検索が高速 (今まで通り)
    * 拡張性が高い
      - 不要なフィールドは後から削除できる (ファイルを消すだけ)
      - 新しいフィールドを後から追加できる (必要とあれば)
      - 既存のフィールドの情報は後から更新できる 
        (インデックスをつけ直す必要はあるが - NMZ.field.*.i)

  欠点  
    * 検索結果の表示が遅くなる
      (現在の NMZ.f に相当する情報を組み立てるのに複数の 
       NMZ.field.* を読む必要があるため)
    * ファイルがたくさん作られる (大したことじゃないけど)

NMZ.f + NMZ.fi に統合する方法

  利点
    * 検索結果の表示が高速 (今まで通り)
    * 作成するファイルが少ない (大したことじゃないけど)

  欠点  
    * フィールド指定の検索が遅くなる
      - 実質上、 NMZ.f 全体を read しなければならないため
    * 拡張性に乏しい
      - フィールドの追加、削除、更新はともに難しい

となります。どちらかといえば前者の方が好ましい気がするのです
が、いかがでしょう?


># 実際には、NMZ.f.info には、(要約に含める/含めない) (検索対象にする/し
># ない) といったフラグも記録することになるでしょう。

検索結果の表示をカスタマイズ可能にしようという考えもあって、
これは NMZ.result なりを用意し、

  <dt>
  <strong><a href="$uri">$title</a></strong>
  <dd>
  <strong>Author</strong>: <em>$author</em><br>
  <strong>Date</strong>: <em>$date</em><br>
  <strong>Size</strong>: <em>$size bytes<\em><br>
  $summary
  <dd><a href="$uri">$uri</a><br><br>

といった記述から、 $uri, $title, などの部分を検索結果の表示
の際に NMZ.field.* の内容を元に動的に置き換える、という仕組
みを考えています。

ただ、こういった処理を C言語で実現するのは面倒なのが難点です。
どなたか書きません? :)

-- Satoru Takabayashi
今日も試験、明日も試験