namazu-ml(ring)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
plan for Namazu v2.0
- From: Satoru Takabayashi <satoru-t@xxxxxxxxxxxxxxxxxx>
- Date: Tue, 04 May 1999 22:11:51 +0900
本日、ふとしたきっかけでやる気に目覚めました。今すぐ Namazu
v2.0 の開発に着手します。以前に言っていた v2.0 は Perl です
べて書き直すという案はボツにします。また、 v1.4 のリリースは
見送ります。
v2.0 といっても、大幅な機能拡張をするわけではなく、これまで
の路線の集大成として完成させます。つまり、基本は変わらず、全
体に垢を落として refine させるだけです。
現在、考えている案は次の通りです。足りない点があれば提案して
ください。この程度の改良なら一週間、部屋に閉じこもって作業す
れば実現できるでしょう。が、実際にはそうもいかないので、 5月
末をめどとして完成を目指します (できるのか?)。
* v1.3.0.x までとの互換性を無視
* 長い名前のコマンドラインオプションを実装
- getopt.c と Getopt::Long を使うだけ
* インデックス作成時の URL置き換えを柔軟にする
- たとえばこんな感じ
% mknmz --replace-url='s!/foobar/www/!http://foobar.jp/!'
* mknmz の引数としてディレクトリやファイル, URLを複数同時
に指定可能にする (xargsが使える)
* -F オプションを拡張
- URL指定に対応 (文書読み込みに lynx なりを用いればよい)
- 排他指定を可能にする (このディレクトリはインデックスし
ないという指定)
- 末尾に / がついていなくてもディレクトリは展開する
* 文書読み込み部の抽象化 (APIを定義し、拡張性を高める)
- 新しい文書形式への対応を容易にする
e.g. Word文書, PDF, http://, ftp://, news://
- 画像・音声ファイルのコメント情報を元にインデックスを作る
* フィルタ部の抽象化 (APIを定義し、拡張性を高める)
- 新しい文書形式への対応を容易にする
* 文書読み込み部とフィルタ部の統合 (APIを定義し、拡張性を高める)
* <a name="..."> や <xxx id="..."> に対応
- 実装がちと難しそう (やめるかも)
* mknmz -n を実装
- make -n と同じ意味
* NMZ.f のフォーマットを変更し、 NMZ.field.* と統合する
- 現在のフォーマットは柔軟性ゼロな上にサイズ効率が悪い
* NMZ.{total,keys} を廃止
- 大切なデータは一つのファイルに保存する
* .namazurc の書式変更
- タブを強制するなんて最低。 空白・タブ区切りにする
- 空白記号 (0x20) を含む文字列は "..." でくくる
- ~/ を $HOME で展開する
* .namazurc の構文エラーを検出する
* DoS 対策
- 中間・後方一致、正規表現、フィールド指定での検索を抑制
- IPアドレス、ドメイン名によるアクセス制御
* Replace と Alias をもっときれいに書く (namazu)
- 現在の LIST の実装は最低
* gettext 化
<http://hp.vector.co.jp/authors/VA001240/article/msgcat.html>
* コメントをすべて英語にする
* 文書整備 (いろんな面で)
# v2.0 を完成させれば Namazu から手を引いて学業に専念できる
# ようになるかな?
p.s.
先日、とある方と suffix array の考え方を応用できないものかと
話し合いました。うまくいけば、わかち書きに依存しない形の全文
検索システムが作れるかもしれません。当分、先の話ですが。
-- Satoru Takabayashi