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な
# どのモジュールにもできるかも...