namazu-ml(ring)


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

Namazu 1.9.9 released (Re: バイトオーダーの違うインデックスの複数検索)



Satoru Takabayashi <satoru-t@xxxxxxxxxxxxxxxxxx> wrote:

>今月末をめど (難しいかも) に一般向けに 1.9.9 を公開して、ユー
>ザの報告をもとにバグを修正しながら 1.9.10, 1.9.11, ... とヴァー
>ジョンを上げていって、安定したら 2.0 にするつもりです。

遅れてしまいましたが、さきほど 1.9.9 を
<http://openlab.ring.gr.jp/namazu/unstable/namazu-1.9.9.tar.gz>
に置きました。ベータ版という位置づけです。

ドキュメントはまだ準備していません。が、コマンドラインのヘル
プを見ればおおよその変化がわかると思います。基本的な使い方は
変わりません。

  % ./configure
  % make         # gmake じゃないと通らないかも
  # make install

  % mknmz --help  
  % namazu --help

  % man mknmz    # せこい man
  % man namazu   # せこい man

日本語のメッセージを表示するには LANG を ja, ja_JP.eucJP な
どに設定しておく必要があります。(gettext化したため)

   ...

ソースコードとドキュメントをきちんと整理してから公開しようと
思っていたのですが、最新版の動向を知ってもらうために、暫定的
に公開に踏み切ることにしました。新しいもの好きの方はぜひお試
しくださいませ。

みなさまの意見をもらって、 2.0 の開発に反映させたいと思って
います。ご意見をお待ちしております。今後、少しづつ改良を加え
て 1.9.10, 1.9.11,... とヴァージョンを上げていって、満足のい
く完成度に到達した時点で 2.0 とします。

   ...

振り返ってみると、「いついつまでには完成・公開する予定」と発
言した期日よりいつも大幅に遅れてしまっています。これは、

  * 本業 (学業) が忙しい
  * 単に怠けている

の 2つの理由が主ですが、もう一つ、

  * プログラミングを勉強し直している

という理由があります。

長い間、私は「とにかく動けばいい」という一心で汚いコードを書
きまくってきたのですが、あるとき「これはいかん」と考えを変え
て (気づくのが遅いぞ)、プログラミングを勉強し直しています。

Cプログラミングのメモをまとめました。興味のある方はご覧くだ
さいませ。
<http://cl.aist-nara.ac.jp/~satoru-t/programming/c.html>

Namazu の開発に参加してくれる方を募集しています。
<http://openlab.ring.gr.jp/namazu/development.html>

  ...

最新版の特徴は次の通りです。1.9.9 を試す方は一通り目を通して
くださいませ。

1.3.0.x からの変更点

機能に関する変更点

  * インデックスの互換性はまったくない
    - 新規に作り直そう

  * インデックスが小さくなった (全体で 1/2 くらい)

  * NKF, Text::Kakasi, Text::ChaSen1 perlモジュールに対応した
    - <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/>

  * mknmz における URI置換の方法を変更した [namazu-dev 282]
    - --replace=code オプションを使う

  * 長い名前のコマンドライン引数を使えるようにした
    - getopt.c, getopt1.c 

  * 任意のフィールドで検索結果をソートできるようにした
    - NMZ.field.* を利用する

  * 検索結果の中のキーワードを強調表示 (赤) するようにした
    - CSS1 を使っています

  * 検索結果の書式を自由に変えられるようにした
    - NMZ.result.* の導入

  * mknmz のコマンドライン引数で複数のディレクトリ・ファイル
    を指定できるようにした [namazu-dev 282]

  * インデックスの更新が簡単になった [namazu-dev 281]
    - mknmz --update=index で OK.

  * mknmz にチェックポイント機能 (-s オプション) をつけた
    - 自分自身をときどき exec し直し、プロセスの膨張を防ぐ

  * namazu, mknmz のコマンドライン引数を変更
    - いくつかのコマンドライン引数を廃止した
    - いくつかのコマンドライン引数を追加した
    - いくつかのコマンドライン引数の名前を変えた
    - 詳しくは namazu --help, mknmz --help を参照

  * Word文書, PDF用のフィルタを用意した
    - mswordview, pdftotext が必要

  * namazu.conf を namazurc に名前を変えた

  * namazurc において区切り文字に空白文字を使
    えるようにした (TABじゃなければダメという仕様は廃止)

  * 何もヒットしなかったときに NMZ.tips を表示するようにした

  * NMZ.access を導入した
    - IPアドレス・ホスト名・ドメイン名によるアクセス制限がイ
    ンデックス単位で行える

  * configure が賢くなった
    - webmaster のメイルアドレスをホスト名から類推する


実装に関する変更点

  * autoconf + automake 化が徹底された

  * gettext化された
    - ja.po, ja_JP.SJIS.po, ja_JP.JIS7.po を用意しています

  * library化
    - とりあえず library の形になったが、まだまだ改良が必要

  * mknmz のソースコードを整理した
    - mknmz を分割した
    - require 5.004 にした
    - File::MMagic perlモジュールを採用した
    - フィルタを整理し、 filter ディレクトリにまとめた
    - 命名規則を見直した
    - コメントをすべて英訳した

  * namazu のソースコードを整理した
    - nmz_mergesort() を廃して qsort を導入した [namazu-dev 334]
    - 名前付け規則を見直した
    - コメントをすべて英訳した

  * インデックスの構造の変更
    - NMZ.i と NMZ.p の記録に pack 'w' を導入した
    - NMZ.i と NMZ.p を差分式に記録するようにした [namazu-dev 121]
    - NMZ.h を廃止
    - NMZ.f を廃止し、 NMZ.field.* へ統合
    - NMZ.i と NMZ.w を統合し、NMZ.i を小さくした
    - NMZ.{keys,total} を廃止して NMZ.status に対応
    - NMZ.head.{en,ja} の CGI変数の名前を変更

-- Satoru Takabayashi
The most important is that thinking hard about programming
can be both useful and fun.  -- Jon Bentley