Namazu-devel-ja(旧)


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

namazu-2.0.12-mecab.patch



竹迫です。

以前 mecabメーリングリストで話題になった namazu-2.0.12-mecab.patch 
を commit しました。(HEAD, stable-2-0)

http://cvs.namazu.org/namazu/pl/wakati.pl.diff?r1=1.9&r2=1.9.8.1

とりあえず、experimental という位置付けで Namazu 2.0.13 で公開したいと思います。

■ module_mecab の使用法
------------------------
このパッチを namazu-2.0.12 に当てると、mknmzrc に

$WAKATI = "module_mecab";

という書き方ができるようになります。

この場合、mknmz 実行時に MeCab のインスタンスが一度だけ作成され、
終了するまで同じインスタンスを使いまわすようになるため、
インデックスの作成時間を短縮することができます。

小さいテキストファイルが多量に存在するようなインデックス構成では、
効果が大きいものと思われます。

■ 従来の mecab の使用法
------------------------
今までは、chasen や kakasi の代わりに mecab を使用するためには、
mknmzrc の設定ファイルで $WAKATI を定義している行を

$WAKATI = "/usr/bin/mecab -O wakati";

のように書き換える方法しかありませんでした。

この方法だと、1つのファイルを処理するたびに mecab コマンドが
呼び出されることになり、多量のファイルを処理する場合に無駄が
生じてしまいます。

■ テストデータ
---------------
JM Project の roffアーカイブをテキストファイルとして処理
(文書フィルタ man.pl の影響を省いて計測するため)

 * http://www.linux.or.jp/JM/download.html
   man-pages-ja-20030615.tar.gz (2,204ファイル)

■ mecab コマンドを使用した場合
-------------------------------
# mknmz -f mknmzrc-mecab-cmd -t 'text/plain' -O index man-pages-ja-20030615

[基本]
日付:                Sun Jul 13 20:05:47 2003
追加された文書の数:  2,204
サイズ (bytes):      8,763,837
合計の文書数:        2,204
追加キーワード数:    35,287
合計キーワード数:    35,287
わかち書き:          /usr/bin/mecab -O wakati
経過時間 (秒):       184
ファイル/秒:         11.98
システム:            linux
Perl:                5.006
Namazu:              2.0.12

■ module_mecab を使用した場合
------------------------------
# mknmz -f mknmzrc-mecab-perl -t 'text/plain' -O index man-pages-ja-20030615

[基本]
日付:                Sun Jul 13 19:36:55 2003
追加された文書の数:  2,204
サイズ (bytes):      8,763,837
合計の文書数:        2,204
追加キーワード数:    35,261
合計キーワード数:    35,261
わかち書き:          module_mecab
経過時間 (秒):       138
ファイル/秒:         15.97
システム:            linux
Perl:                5.006
Namazu:              2.0.12

→ module_mecab を使用することで経過時間が 184 → 138 [秒] に短縮

--
  株式会社ドリーム・アーツ
    竹迫 良範  <takesako@xxxxxxxxxx>