namazu-ml(ring)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: 1.4.0.0-beta-8 (Re: namazu-ml search(was Re:namazu-snap-1999-05-02))
Yukinori MAEDA <yuki@xxxxxxx> wrote:
>Plathome: FreeBSD 3.1-STABLE
>Perl version: This is perl, version 5.005_02 built for i386-freebsd
>kakasi: /usr/local/bin/kakasi
>nkf: /usr/local/bin/nkf
>
>v1.4系は良く見てないので、普通になにもせずそのまま素直にコン
>パイルしたものを使用しています。
いちおう説明しておくと、 v1.4では主に
* NKF, Text::Kakasi, Text::ChaSen1 モジュールに対応
- mknmz が 2倍近く早くなるようです
* pack 'w' の導入でインデックスのサイズが小さくなった
- 全体で 2/3 くらいになりました
* mknmz に -s オプションをつけた
- 自分自身をときどき exec し直し、プロセスの膨張を防ぐ
* automake + autoconf 化が進んだ
(馬場さん、安部さん、ありがとう)
* mknmz が分割された
* mknmz のコードが少しはましになった
といった点が改良されています。
NKF, Text::Kakasi, Text::ChaSen1 モジュールはそれぞれ、
<ftp://ftp.ie.u-ryukyu.ac.jp/pub/software/kono/nkf171.shar>
<http://www.daionet.gr.jp/~knok/kakasi/
<http://www.daionet.gr.jp/~knok/chasen/>
から入手できます。これらがインストールされていれば、
configure が自動認識します。お試しあれ。
参考までに v2.0 への計画をメイル末尾に添付しておきます。
-- Satoru Takabayashi
私 [namazu 612] plan for Namazu v2.0
* 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>
* コメントをすべて英語にする
* 文書整備 (いろんな面で)
* 検索結果の出力のフォーマットを指定できるようにする
- 雛形ファイルをユーザが用意し、そこに要約やら URLを埋め
込む。(<a href="$URL">$TITLE</a> といったように)
追加分 [namazu 613]
* 文書のタイトルでソートする機能を実装
- NMZ.field.subject を使ってソートすればよい
* find でシンボリックをきちんと扱う
すぎうら氏 [614]
mknmzでのNMZ.lockの検出を起動直後に!というのをお願いします。
現在の所、Append作業の時など対象ファイル群の検出、update、delete、
新規追加のチェックの後に行なっているようなので、これをmknmzを起動
した直後にチェックにいって頂けるとありがたいのです。
でも、検索ページを運営しながらmknmzをかける場合は逆に不便に(検索で
きない時間が長くなる)なっちゃいますね。困った。
たかく氏 [616]
* 日付をキーにしたless than, greater thanの指定検索。
( 1999年1月以降の記事 OR 1998年1月以前の記事 AND "TERM" )
といった検索をしたい。
* mknmzの利用するモジュールの表示機能。
以下のような感じでしょうか。
% mknmz -C
Perl: /usr/local/bin/perl (Version 5.004_04)
NKF: module_nkf
KAKASI: /usr/local/bin/kakasi
ChaSen: module_chasen1
WAKATI_DEFAULT: KAKASI
これの影響だと思うのですが、
"c:\hoge\foo" や "c:/hoge/foo" の形式が上記の相対パスと見なされ
てしまいます。この形式も mknmz や namazu で絶対パスと見てもらえ
るとありがたいです。
# というか、mew-nmz 的にはこれが絶対パスと見てもらえないと動けな
# いのです。
私 [namazu 630]
…よく考えてみると、相対パスでインデックスを指定するには MH
風に +index と頭に "+" をつける方法がわかりやすくてよい気が
してきました。今から仕様を変更しちゃってよいですか?
野首さん [namazu 633]
個人的に、以下のようなものが欲しいと思っています。
* XSベースの Namazu.pm
今のような、雛形HTMLファイルを修正してカスタマイズするというやり方は、
お手軽で便利なのは確かなのですが、細部まで手が届かないなあ、と思うこと
が稀にあります。
# より汎用化されたライブラリを整備すれば、Perlだけでなくrubyやpythonな
# どのモジュールにもできるかも...