#contents();
*** [[DARTS (Double-ARray Trie System):http://chasen.org/~taku/software/darts/]] のインストール [#i889df47]
- DATRTS は辞書検索用の C++ ライブラリー
-- Darts は, Double-Array [Aoe 1989]を構築するための シンプルな C++ Template Library です. Double-Array は Trie を表現するためのデータ構造です. ハッシュ木, デジタルトライ, パトリシア木, Suffix Array による擬似 Trieといった 他の Trie の実装に比べ高速に動作します. オリジナル の Double-Arrayは, 動的に key の追加削除を行えるような枠組ですが, Darts は ソート済の辞書を一括してDouble-Array に変換することに機能を絞っています.
-- ハッシュのような単純な辞書として使うことも可能ですが, 形態素解析器の辞書に必須の Common Prefix Search を非常に高速に行うことができます.
-- 2003年7月現在, Darts は, MeCab, ChaSen に採用されています. Darts は, MeCab で使われている Double-Array のコードを 改めてパッケージングしたものです.
- version used = 0.2 (&color(red){ ChaSen と組み合わせるためには 最新(0.3) ではなく、0.2 を使う必要がある};)
- &ref(darts-0.2.tar.gz,center,ソース); からビルドする
[root@spirit Downloads]# ls -l darts*
-rw-r--r-- 1 root root 237927 5月 2 14:28 darts-0.2.tar.gz
-rw-r--r-- 1 root root 245615 5月 2 11:21 darts-0.3.tar.gz
[root@spirit Downloads]# tar xzvf darts-0.2.tar.gz
[root@spirit Downloads]# cd darts-0.2
[root@spirit darts-0.2]# ./configure
[root@spirit darts-0.2]# make
[root@spirit darts-0.2]# make check
[root@spirit darts-0.2]# make install
- プログラムから下記 darts.h をインクルードして利用する
[root@spirit darts-0.3]# ls -l /usr/local/include/darts.h
-rw-r--r-- 1 root root 13385 5月 2 11:29 /usr/local/include/darts.h
*** [[libiconv:http://www.gnu.org/software/libiconv/]] のインストール [#a3ae5e59]
- version = 1.10
- [[GNU miller:ftp://tron.um.u-tokyo.ac.jp/pub/GNU/libiconv/]] から &ref(libiconv-1.10.tar.gz,center,ソース); をダウンロードする
- [[森山 将之氏のホームページ:http://www2d.biglobe.ne.jp/~msyk/index.html]] から 日本語 Windows 対応 ([[内容解説:http://www2d.biglobe.ne.jp/~msyk/software/libiconv-1.10-ja-patch.html]]) の &ref(libiconv-1.10-ja-1.patch.gz,center,パッチセット); をダウンロードする
[root@spirit Downloads]# ls -l libiconv-1.10*
-rw-r--r-- 1 root root 234616 5月 2 13:00 libiconv-1.10-ja-1.patch.gz
-rw-r--r-- 1 root root 3954075 5月 2 12:26 libiconv-1.10.tar.gz
[root@spirit Downloads]# tar xvzf libiconv-1.10.tar.gz
[root@spirit Downloads]# cd libiconv-1.10
[root@spirit libiconv-1.10]# gzip -dc ../libiconv-1.10-ja-1.patch.gz | patch -p1
[root@spirit libiconv-1.10]# ./configure --prefix=/usr/local
[root@spirit libiconv-1.10]# make
[root@spirit libiconv-1.10]# make install
- /etc/ld.so.conf に /usr/local/lib を追加し ldconfig -v (/sbin/ldconfig -v) を実行する
[root@spirit libiconv-1.10]# cat /etc/ld.so.conf
include ld.so.conf.d/*.conf
/usr/local/lib
- インストールの確認
[root@spirit libiconv-1.10]# iconv -l | grep -- -MS
EUC-JP-MS EUCJP-MS EUCJP-OPEN EUCJP-WIN EUCJPMS
CP932 MS932 SHIFFT_JIS-MS SJIS-MS SJIS-OPEN SJIS-WIN WINDOWS-31J
WINDOWS-932 CSWINDOWS31J
CP50221 ISO-2022-JP-MS MS50221 WINDOWS-50221
*** [[茶筌(ChaSen):http://chasen.naist.jp/hiki/ChaSen/]] のインストール [#b586ff19]
- 茶筌は、自然文を解析して「それ以上分割できない最小の文字列(形態素)」に分割する「形態素解析」の処理を行う奈良先端技術大で開発されたソフトウェア
- 茶筌は、プログラム(ChaSen)と辞書(ipadic)に分けて配布される
- version used = 2.3.3
- &ref(chasen-2.3.3.tar.gz,center,ソース); からビルドする
-- darts のヘッダーファイルの位置、libiconv の位置を明示的に指定して configure する
[root@spirit Downloads]# ls -l chasen*
-rw-r--r-- 1 root root 425981 5月 2 11:47 chasen-2.3.3.tar.gz
[root@spirit Downloads]# tar xvzf chasen-2.3.3.tar.gz
[root@spirit Downloads]# cd chasen-2.3.3
- &color(red){GCC 3.4.x の厳密なキャストチェックに対応するために lib/dartsdic.cppの180行目あたりを以下のように変更する (修正しないとエラーで進めない)};
(const char*)keys[size] = key.data();
↓
keys[size] = const_cast<char*>(key.data());
[root@spirit chasen-2.3.3]# ./configure --with-darts=/usr/local/include --with-libiconv=/usr/local
[root@spirit chasen-2.3.3]# make
[root@spirit chasen-2.3.3]# make check
[root@spirit chasen-2.3.3]# make install
*** [[Text::ChaSen:http://www.daionet.gr.jp/~knok/chasen/]] のインストール [#c4b15c53]
- Text::ChaSenは、奈良先端科学技術大学が開発した日本語形態素解析ソフトウェア 茶筌を、perlから利用するためのモジュールです。
- Namazu は実行時に KAKASHI または CHASEN の Perl モジュールを必要とする。 ない場合 namazu の ./configure 実行時に以下のエラーとなる
checking for Text::Kakasi perl module... no
checking for kakasi... /usr/local/bin/kakasi
checking for Text::ChaSen perl module... no
checking for chasen... /usr/local/bin/chasen
- Version = 1.03
- &ref(Text-ChaSen-1.03.tar.gz,center,Perl ソース) を利用する
[root@spirit Downloads]# tar xzvf Text-ChaSen-1.03.tar.gz
[root@spirit Downloads]# cd Text-ChaSen-1.03
- ソースを展開して &color(red){Makefile.PL に2つの修正}; を加える
-- 'LIBS' => ['-lchasen'] の内容が書かれている行を libchasen.a の存在する場所を指すように修正する
-- ChaSen 2.3.x 以降より、ChaSen 側で C++ template libray darts を利用するようになり、この module を build する際に C++ libray のリンクが必要になった。Makefile.PL の WriteMakefile に 'LD' => 'c++' 等を追加するか、 LIBS に -lstdc++ 等を追加する
[root@spirit Text-ChaSen-1.03]# ls -l /usr/local/lib/libchasen.a
-rw-r--r-- 1 root root 444774 5月 3 03:07 /usr/local/lib/libchasen.a
'LIBS' => ['-L/usr/local/lib -lchasen -lstdc++'] ← Makefile.PL の中でこのように指定する
- makefile を生成して make、make install を実行
[root@spirit Text-ChaSen-1.03]# perl Makefile.PL
[root@spirit Text-ChaSen-1.03]# make
[root@spirit Text-ChaSen-1.03]# make install
*** 辞書(ipadic) のインストール [#pc900fa9]
- 茶筌が利用する &ref(ipadic-2.7.0.tar.gz,center,辞書データ); を [[茶筅のサイト:http://chasen.naist.jp/hiki/ChaSen/?%C3%E3%E4%A5%A4%CE%C7%DB%C9%DB]] からダウンロードする
[root@spirit Downloads]# tar xzvf ipadic-2.7.0.tar.gz
[root@spirit Downloads]# cd ipadic-2.7.0
[root@spirit ipadic-2.7.0]# ./configure
[root@spirit ipadic-2.7.0]# make
- make が終わった時点で 辞書データを UTF-8 化
-- nkf を利用した &ref(utf8conv.sh,center,スクリプト); で辞書データの文字コードを変換する
[root@spirit ipadic-2.7.0]# ./utf8conv.sh *.dic
[root@spirit ipadic-2.7.0]# ./utf8conv.sh *.cha
- UTF-8 対応の辞書ファイルの生成
[root@spirit ipadic-2.7.0]# `chasen-config --mkchadic`/makemat -i w
[root@spirit ipadic-2.7.0]# `chasen-config --mkchadic`/makeda -i w chadic *.dic
- ipadic のインストール
[root@spirit ipadic-2.7.0]# make install
- インストール結果の確認 ( /usr/local/lib/chasen/dic/ipadic/ )
[root@spirit ipadic-2.7.0]# ls -l /usr/local/lib/chasen/dic/ipadic/
合計 31380
-rw-r--r-- 1 root root 80 5月 3 03:43 Makefile.bat
-rw-r--r-- 1 root root 23182 5月 3 03:43 cforms.cha
-rw-r--r-- 1 root root 11430416 5月 3 03:43 chadic.da
-rw-r--r-- 1 root root 12296252 5月 3 03:43 chadic.dat
-rw-r--r-- 1 root root 5852016 5月 3 03:43 chadic.lex
-rw-r--r-- 1 root root 2080 5月 3 03:43 chasenrc
-rw-r--r-- 1 root root 2218448 5月 3 03:43 connect.cha
-rw-r--r-- 1 root root 2442 5月 3 03:43 ctypes.cha
-rw-r--r-- 1 root root 1623 5月 3 03:43 grammar.cha
-rw-r--r-- 1 root root 78398 5月 3 03:43 matrix.cha
-rw-r--r-- 1 root root 144103 5月 3 03:43 table.cha
- /usr/local/etc/chasenrc の UTF-8 化
[root@spirit ipadic-2.7.0]# nkf --utf8 /usr/local/etc/chasenrc > /usr/local/etc/chasenrc_utf8
[root@spirit ipadic-2.7.0]# mv /usr/local/etc/chasenrc /usr/local/etc/chasenrc_orig
[root@spirit ipadic-2.7.0]# mv /usr/local/etc/chasenrc_utf8 /usr/local/etc/chasenrc
[root@spirit ipadic-2.7.0]# ls -l /usr/local/etc/
合計 16
-rw-r--r-- 1 root root 2325 5月 3 03:58 chasenrc
-rw-r--r-- 1 root root 2080 5月 3 03:43 chasenrc_orig
drwxr-xr-x 2 root root 4096 1月 22 18:27 mknmz
drwxr-xr-x 2 root root 4096 1月 22 17:29 namazu
- 茶筌 実行時には chasenrc で変換した文法ファイルと辞書を指定し、茶筌本体にも UTF-8 で処理するようオプションを指定する
chasen -i w UTF8.txt
- 動作確認 (成功!)
[root@spirit ipadic-2.7.0]# echo "今回は「日本語」を扱う上で欠かせないツールを紹介しよう。" | chasen -i w
今回 コンカイ 今回 名詞-副詞可能
は ハ は 助詞-係助詞
「 「 「 記号-括弧開
日本語 ニホンゴ 日本語 名詞-一般
」 」 」 記号-括弧閉
を ヲ を 助詞-格助詞-一般
扱う アツカウ 扱う 動詞-自立 五段・ワ行促音便 基本形
上 ウエ 上 名詞-非自立-副詞可能
で デ で 助詞-格助詞-一般
欠か カカ 欠く 動詞-自立 五段・カ行イ音便 未然形
せ セ せる 動詞-接尾 一段 未然形
ない ナイ ない 助動詞 特殊・ナイ 基本形
ツール ツール ツール 名詞-一般
を ヲ を 助詞-格助詞-一般
紹介 ショウカイ 紹介 名詞-サ変接続
しよ シヨ する 動詞-自立 サ変・スル 未然ウ接続
う ウ う 助動詞 不変化型 基本形
。 。 。 記号-句点
EOS
[root@spirit ipadic-2.7.0]#
*** Namazu インストールの準備 [#xfc0ca20]
- 必要なソフトウエア が正しく入っているか ? (PATH の確認)
-- perl → -ーwith-perl5=PATH でパスを明示的に指定する必要がある
[root@spirit namazu-2.0.14]# perl -v
This is perl, v5.8.5 built for i386-linux-thread-multi
[root@spirit namazu-2.0.14]# which perl
/usr/bin/perl
-- nkf
[root@spirit namazu-2.0.14]# nkf -V
Network Kanji Filter Version 2.0.5 (2005-04-10)
[root@spirit namazu-2.0.14]# which nkf
/usr/bin/nkf
-- chasen
[root@spirit namazu-2.0.14]# chasen -V
ChaSen version 2.3.3 (c) 1996-2001 Nara Institute of Science and Technology
[root@spirit namazu-2.0.14]# which chasen
/usr/local/bin/chasen
-- Text::ChaSen ( Text::ChaSen の make install ログより )
→ --with-pmdir=PATH で明示的に指定する必要がある
[root@spirit Text-ChaSen-1.03]# make install
Files found in blib/arch: installing files in blib/lib into architecture dependent library tree
Writing /usr/lib/perl5/site_perl/5.8.5/i386-linux-thread-multi/auto/Text/ChaSen/.packlist
Appending installation info to /usr/lib/perl5/5.8.5/i386-linux-thread-multi/perllocal.pod
*** %%[[Namazu:http://www.namazu.org/]] のインストール%% [#j6ef4cc9]
- &color(red){2006-11 に Namazu の再インストールを行ったので以下の内容は現在適用されない(下記のインストールは削除した)};
- &ref(namazu-2.0.14.tar.gz,center,ソース); 展開
[root@spirit Downloads]# tar xzvf namazu-2.0.14.tar.gz
[root@spirit Downloads]# cd namazu-2.0.14
- File-MMagic のインストール
[root@spirit namazu-2.0.14]# cd File-MMagic/
[root@spirit File-MMagic]# perl Makefile.PL
[root@spirit File-MMagic]# make
[root@spirit File-MMagic]# make install
*** Namazu の再インストール [#t63b2d35]
- [[ Crimson Snow の Namazu の設定:http://www.crimson-snow.net/hmsvr/centos/memo/namazu.html]] の手順に従ってインストールを行った
*** Namazu 関連ファイルのインストールディレクトリ [#i6624714]
- プログラム本体 ⇒ &color(blue){/usr/bin/namazu};
[root@spirit ~]# which namazu
/usr/local/bin/namazu
- Namazu 関連ファイル ⇒ &color(blue){/usr/local/share/namazu/};
[root@spirit ~]# ls -l /usr/local/share/namazu/
合計 20
drwxr-xr-x 4 root root 4096 11月 19 02:32 doc
drwxr-xr-x 2 root root 4096 11月 19 02:33 etc
drwxr-xr-x 2 root root 4096 11月 19 02:32 filter
drwxr-xr-x 2 root root 4096 11月 19 02:33 pl
drwxr-xr-x 2 root root 4096 11月 19 02:33 template
- 各種フィルター ⇒ &color(blue){/usr/local/share/namazu/filter};
[root@spirit ~]# ls -l /usr/local/share/namazu/filter
合計 188
-rw-r--r-- 1 root root 2089 11月 19 02:32 apachecache.pl
-rw-r--r-- 1 root root 1975 11月 19 02:32 bzip2.pl
-rw-r--r-- 1 root root 1990 11月 19 02:32 compress.pl
-rw-r--r-- 1 root root 4312 11月 19 02:32 deb.pl
-rw-r--r-- 1 root root 3095 11月 19 02:32 dvi.pl
-rw-r--r-- 1 root root 5459 11月 19 02:32 excel.pl
-rw-r--r-- 1 root root 3064 11月 19 02:32 gzip.pl
-rw-r--r-- 1 root root 6539 11月 19 02:32 hdml.pl
-rw-r--r-- 1 root root 8557 11月 19 02:32 hnf.pl
-rw-r--r-- 1 root root 10291 11月 19 02:32 html.pl
-rw-r--r-- 1 root root 2073 11月 19 02:32 macbinary.pl
-rw-r--r-- 1 root root 9458 11月 19 02:32 mailnews.pl
-rw-r--r-- 1 root root 4125 11月 19 02:32 man.pl
-rw-r--r-- 1 root root 5598 11月 19 02:32 mhonarc.pl
-rw-r--r-- 1 root root 4729 11月 19 02:32 mp3.pl
-rw-r--r-- 1 root root 5566 11月 19 02:32 msword.pl
-rw-r--r-- 1 root root 7331 11月 19 02:32 ooo.pl
-rw-r--r-- 1 root root 4495 11月 19 02:32 pdf.pl
-rw-r--r-- 1 root root 3013 11月 19 02:32 postscript.pl
-rw-r--r-- 1 root root 5279 11月 19 02:32 powerpoint.pl
-rw-r--r-- 1 root root 3154 11月 19 02:32 rfc.pl
-rw-r--r-- 1 root root 4578 11月 19 02:32 rpm.pl
-rw-r--r-- 1 root root 5047 11月 19 02:32 rtf.pl
-rw-r--r-- 1 root root 2606 11月 19 02:32 taro.pl
-rw-r--r-- 1 root root 4242 11月 19 02:32 taro56.pl
-rw-r--r-- 1 root root 5957 11月 19 02:32 taro7_10.pl
-rw-r--r-- 1 root root 2711 11月 19 02:32 tex.pl
- インデックスファイル ⇒ &color(blue){/usr/local/var/namazu/index};
[root@spirit ~]# ls -l /usr/local/var/namazu/index/
合計 8
drwxr-xr-x 2 root root 4096 11月 19 13:07 Academia
drwxr-xr-x 2 root root 4096 11月 19 12:53 Linux
- 環境設定ファイル ⇒ &color(blue){/usr/local/etc/namazu/};
[root@spirit ~]# ls -l /usr/local/etc/namazu/
合計 20
-rw-r--r-- 1 root root 5751 11月 19 10:46 mknmzrc
-rw-r--r-- 1 root root 5551 11月 19 02:32 mknmzrc-sample
-rw-r--r-- 1 root root 2918 11月 19 02:32 namazurc-sample
*** Namazu の設定状況の確認 (mknmz -C) [#f9753d8d]
[root@spirit xpdf-japanese]# mknmz -C
読み込んだ設定ファイル: /usr/local/etc/namazu/mknmzrc
システム: linux
Namazu: 2.0.14
Perl: 5.008005
File-MMagic: 1.20
NKF: module_nkf
KAKASI: /usr/local/bin/kakasi -ieuc -oeuc -w
茶筌: module_chasen -j -F '%m '
わかち書き: /usr/local/bin/kakasi -ieuc -oeuc -w
メッセージの言語: ja_JP.eucJP
言語: ja_JP.eucJP
文字コード: euc
CONFDIR: /usr/local/etc/namazu
LIBDIR: /usr/local/share/namazu/pl
FILTERDIR: /usr/local/share/namazu/filter
TEMPLATEDIR: /usr/local/share/namazu/template
対応メディアタイプ: (22)
未対応メディアタイプ: (11) 必要ツールが $path にないものには (-) を表示
- application/excel: excel.pl
application/ichitaro5: taro56.pl
application/ichitaro6: taro56.pl
- application/ichitaro7: taro7_10.pl
application/macbinary: macbinary.pl
- application/msword: msword.pl
application/pdf: pdf.pl
- application/postscript: postscript.pl
- application/powerpoint: powerpoint.pl
- application/rtf: rtf.pl
application/vnd.sun.xml.calc: ooo.pl
application/vnd.sun.xml.draw: ooo.pl
application/vnd.sun.xml.impress: ooo.pl
application/vnd.sun.xml.writer: ooo.pl
application/x-apache-cache: apachecache.pl
application/x-bzip2: bzip2.pl
application/x-compress: compress.pl
- application/x-deb: deb.pl
- application/x-dvi: dvi.pl
application/x-gzip: gzip.pl
- application/x-js-taro: taro7_10.pl
application/x-rpm: rpm.pl
- application/x-tex: tex.pl
- audio/mpeg: mp3.pl
message/news: mailnews.pl
message/rfc822: mailnews.pl
text/hnf: hnf.pl
text/html: html.pl
text/html; x-type=mhonarc: mhonarc.pl
text/plain
text/plain; x-type=rfc: rfc.pl
text/x-hdml: hdml.pl
text/x-roff: man.pl
*** powerpoint / excel / word などがエラーになっていることの対応 ⇒ filter 以外の前処理が必要 [#c4f75ab9]
|形式|filter|必要な外部操作|h
|MS Word|msword.pl|wvHtml+lv または doccat|
|MS Excel|excel.pl|xlhtml xlHtml または doccat|
|MS PowerPoint|powerpoint.pl|(ppthtml or pptHtml) + lv または doccat|
|一太郎|taro.pl|doccat|
|RPM|rpm.pl|rpm|
|Debian package|deb.pl|dpkg|
|TeX|tex.pl|detex|
|dvi|dvi.pl|dvi2tty+nkf|
|PDF|pdf.pl|pdftotext (xpdf)|
|PostScript|postscript.pl|ps2text or ps2ascii|
- mknmz -C とした時に、上に挙げた「必要な外部操作」が path に含まれていると それに対応する形式が表示される。
*** filter に必要な外部操作 [#l36c9eb2]
[root@spirit filter]# grep checkcmd *
bzip2.pl: $bzip2path = util::checkcmd('bzip2');
compress.pl: $zcatpath = util::checkcmd('zcat');
deb.pl: $dpkgpath = util::checkcmd('dpkg');
dvi.pl: $dviconvpath = util::checkcmd('jdvi2tty');
dvi.pl: $dviconvpath = util::checkcmd('dvi2tty');
dvi.pl: $dviconvpath = util::checkcmd('dvi2tty');
excel.pl: $wvsummarypath = util::checkcmd('wvSummary');
excel.pl: $xlconvpath = util::checkcmd('xlhtml') || util::checkcmd('xlHtml');
excel.pl: $utfconvpath = util::checkcmd('lv');
excel.pl: $xlconvpath = util::checkcmd('doccat');
gnumeric.pl: $gzippath = util::checkcmd('gzip');
gzip.pl: $gzippath = util::checkcmd('gzip');
koffice.pl: $unzippath = util::checkcmd('unzip');
koffice.pl: $utfconvpath = util::checkcmd('lv');
man.pl: $roffpath = util::checkcmd('jgroff');
man.pl: $roffpath = util::checkcmd('groff') unless (defined $roffpath);
man.pl: $roffpath = util::checkcmd('nroff') unless (defined $roffpath);
msword.pl: $wvsummarypath = util::checkcmd('wvSummary');
msword.pl: $wvversionpath = util::checkcmd('wvVersion');
msword.pl: $wordconvpath = util::checkcmd('wvWare');
msword.pl: $utfconvpath = util::checkcmd('lv');
msword.pl: $wordconvpath = util::checkcmd('wvHtml');
msword.pl: $utfconvpath = util::checkcmd('lv');
msword.pl: $wordconvpath = util::checkcmd('doccat');
ooo.pl: $unzippath = util::checkcmd('unzip');
ooo.pl: $utfconvpath = util::checkcmd('lv');
pdf.pl: $pdfconvpath = util::checkcmd('pdftotext');
pdf.pl: $pdfinfopath = util::checkcmd('pdfinfo');
postscript.pl: $psconvpath = util::checkcmd('ps2text');
postscript.pl: $psconvpath = util::checkcmd('ps2ascii');
powerpoint.pl: $wvsummarypath = util::checkcmd('wvSummary');
powerpoint.pl: $pptconvpath = util::checkcmd('ppthtml') || util::checkcmd('pptHtml');
powerpoint.pl: $utfconvpath = util::checkcmd('lv');
powerpoint.pl: $pptconvpath = util::checkcmd('doccat');
rpm.pl: $rpmpath = util::checkcmd('rpm');
rtf.pl: $rtfconvpath = util::checkcmd('rtf2html');
rtf.pl: $rtfconvpath = util::checkcmd('doccat');
taro.pl: $taroconvpath = util::checkcmd('doccat');
tex.pl: $texconvpath = util::checkcmd('detex');
zip.pl: $unzippath = util::checkcmd('unzip');
*** xlhtml のインストール [#xffba0f5]
- powerpoint / excel の文書解析用の pre-processor である xlhtml を [[このサイト:http://chicago.sourceforge.net/xlhtml/]] からインストールした ⇒ &ref(xlhtml-0.5.tgz);
[root@spirit Downloads]# ls -ltr
-rw-r--r-- 1 root root 271045 11月 21 00:41 xlhtml-0.5.tgz
[root@spirit Downloads]# tar xzvf xlhtml-0.5.tgz
[root@spirit Downloads]# cd xlhtml-0.5
[root@spirit xlhtml-0.5]# ./configure
[root@spirit xlhtml-0.5]# make
cole/Makefile.am: required file `./depcomp' not found ・・・・ make がコケルので depcomp を持ってくる
[root@spirit xlhtml-0.5]# locate depcomp ⇒ 探す
/usr/share/automake-1.7/depcomp
/usr/share/automake-1.9/depcomp
/usr/share/automake-1.6/depcomp
/usr/share/automake-1.5/depcomp
/root/Downloads/chasen-2.3.3/depcomp
/root/Downloads/ImageMagick-6.2.9/depcomp
/root/Downloads/gq-1.0beta1/depcomp
/root/Downloads/darts-0.2/depcomp
/root/Downloads/fetchmail-6.3.4/depcomp
[root@spirit xlhtml-0.5]# cp /usr/share/automake-1.9/depcomp ./depcomp
make のやり直し
[root@spirit xlhtml-0.5]# make
[root@spirit xlhtml-0.5]# make install
- インストールの確認 (と lv がインストールされている事の確認)
[root@spirit xlhtml-0.5]# which xlhtml
/usr/local/bin/xlhtml
[root@spirit xlhtml-0.5]# which lv
/usr/local/bin/lv
*** [[wvware:http://wvware.sourceforge.net/]] のインストール [#fe377eb8]
- word の文書解析用の pre-processor である wvware を [[このサイト:http://wvware.sourceforge.net/wvWare.html]] からインストールした ⇒ &ref(wv-1.2.4.tar.gz);
- word の文書解析用の pre-processor である xlhtml を [[このサイト:http://prdownloads.sourceforge.net/wvware]] からインストールした ⇒ &ref(wv2-0.2.3.tar.bz2);
[root@spirit Downloads]# ls -ltr
-rw-r--r-- 1 root root 908983 11月 21 01:15 wv2-0.2.3.tar.bz2
[root@spirit Downloads]# tar xjvf wv2-0.2.3.tar.bz2
[root@spirit Downloads]# cd wv2-0.2.3
[root@spirit wv2-0.2.3]# ./configure
wv2 depends on a modern iconv installation, supporting UNICODELITTLE and
UNICODEBIG. The detected iconv version doesn't support these conversions.
Please get a new libiconv from http://www.gnu.org/software/libiconv/
You might want to install the library to some alternative directory, in
order not to overwrite your current installation. Please use the option
--with-libiconv=DIR to specify the location.
iconv が古いという理由で configure がエラーになった
- 確認してみる
[root@spirit wv2-0.2.3]# which iconv
/usr/local/bin/iconv
[root@spirit wv2-0.2.3]# iconv --version
iconv (GNU libiconv 1.10)
Copyright (C) 2000-2002 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Written by Bruno Haible.
- libiconv 1.11 のインストール ・・・・・ &ref(libiconv-1.11.tar.gz);
-- http://www.gnu.org/software/libiconv/
[root@spirit Downloads]# ls -ltr
-rw-r--r-- 1 ftproot root 4430930 11月 22 12:43 libiconv-1.11.tar.gz
[root@spirit Downloads]# tar xzvf libiconv-1.11.tar.gz
[root@spirit Downloads]# cd libiconv-1.11
[root@spirit libiconv-1.11]# ./configure
[root@spirit libiconv-1.11]# make
[root@spirit libiconv-1.11]# make install
- iconv (及び libiconv.so ) が更新された
[root@spirit libiconv-1.11]# which iconv
/usr/local/bin/iconv
[root@spirit libiconv-1.11]# ls -l /usr/local/bin/iconv
-rwxr-xr-x 1 root root 49448 11月 22 13:24 /usr/local/bin/iconv
- &color(red){しかし ./configure のエラーが解決しないので wv-1.x の最新版をインストールしなおした};
[root@spirit wv2-0.2.3]# ./configure --with-libiconv=/usr/local/lib/
[root@spirit wv2-0.2.3]# mak
[root@spirit wv2-0.2.3]# make install
- 改めて [[Source Forge のプロジェクト:http://sourceforge.net/project/showfiles.php?group_id=10501]] から
-- &ref(wv-1.2.4.tar.gz); と &ref(libwmf-0.2.8.4.tar.gz); をダウンロードしてインストールした
-- wv-1.2.4 の configure で libgsf が古いと言われたので [[GNUのサイト:ftp://ftp.gnome.org/pub/GNOME/sources/libgsf/]] からダウンロードした ⇒ &ref(libgsf-1.9.1.tar.gz);
- まず glib を最新版の ver 2.9.6 に更新する ⇒ &ref(glib-2.9.6.tar.gz);
[root@spirit glib-2.9.6]# ./configure --with-libiconv=gnu
[root@spirit glib-2.9.6]# make
[root@spirit glib-2.9.6]# make check
[root@spirit glib-2.9.6]# make install
*** 一太郎用フィルター (jt.pl) のインストール [#ba9fd150]
- mknmz -C で taro7 が未対応となっている問題を解決したかったので
application/ichitaro5: taro56.pl
application/ichitaro6: taro56.pl
- application/ichitaro7: taro7_10.pl
- http://www.actv.ne.jp/~kkojima/jxwlog.html から &ref(jt.pl,center,jt.pl); をダウンロードした
- /usr/local/share/namazu/filter にあった taro 関連フィルターを削除して jt.pl を入れる
[root@spirit Downloads]# cp jt.pl /usr/local/share/namazu/filter/
[root@spirit Downloads]# ls -l /usr/local/share/namazu/filter/taro*.pl
-rw-r--r-- 1 root root 2606 11月 19 02:32 /usr/local/share/namazu/filter/taro.pl
-rw-r--r-- 1 root root 4242 11月 19 02:32 /usr/local/share/namazu/filter/taro56.pl
-rw-r--r-- 1 root root 5957 11月 19 02:32 /usr/local/share/namazu/filter/taro7_10.pl
[root@spirit Downloads]# mv /usr/local/share/namazu/filter/taro*.pl .
[root@spirit Downloads]# ls -l /usr/local/share/namazu/filter/taro*.pl
ls: /usr/local/share/namazu/filter/taro*.pl: そのようなファイルやディレクトリはありません
*** インデックスの作成準備 [#t5b4380b]
- index 用のディレクトリの作成
[root@spirit ~]# ls -l /usr/local/var/namazu/index/
合計 12
drwxr-xr-x 2 root root 4096 1月 7 12:59 current_mail <---- /hmome//munakata/Maildir のインデックスを格納
drwxr-xr-x 2 root root 4096 1月 7 13:00 stored_mail <----- /home/sotred_mail/Maildir のインデックスを格納
drwxr-xr-x 2 root root 4096 1月 7 12:59 document
- インデックスの作成
[root@spirit ~]# mknmz -aO /usr/local/var/namazu/index/current_mail/ /home/munakata/Maildir/
[root@spirit ~]# mknmz -aO /usr/local/var/namazu/index/stored_mail/ /home/stored_mail/Maildir/
- 検索ページ (current_mail) ----> http://www.hmuna.com/cgi-bin/namazu.cgi?idxname=mail
- 検索ページ (stored_mail) -----> http://www.hmuna.com/cgi-bin/namazu.cgi?idxname=mailold
- 検索ページ (document) -------> http://www.hmuna.com/cgi-bin/namazu.cgi?idxname=document
*** Webアクセス用の検索画面の設定 ⇒ /usr/local/var/namazu/index/stored_mail/NMZ.head [#l57df07b]
*** 設定 (本家のページからの引用) [#g98dd30d]
- [[メール、ニュース を検索する:http://www.namazu.org/doc/manual.html.ja#doc-filter]]
-- mailnews.pl
---Mail/News のファイル、mhtml ファイルを扱う
---必需品: なし
---注意: mhtml ファイル、E-mail に添付された Base64 でエンコードされた部分を扱うには MIME::Base64, MIME::QuotedPrint が必要
---(Perl5.8では標準で組込済)。利用する際には mknmz に次のオプションを使用、 --decode=base64
- [[web-cgi 画面からインデックスを選択できるようにする:http://www.namazu.org/doc/manual.html.ja#form-idxname]]
Webブラウザからインデックスを選択できるようにするには NMZ.head に次のように記述します。
<strong>検索対象:</strong>
<select name="idxname">
<option selected value="foo">foo</option>
<option value="bar">bar</option>
<option value="baz">baz</option>
</select>
--この例では、 foo, bar, baz の中からインデックスを選択可能にしています。foo が選ばれた時は基本インデックス の下にある foo インデックスを検索します。基本インデックスが /usr/local/var/namazu/index の場合は次のディレクトリ構成になります。
/
+ usr/
+ local/
+ var/
+ namazu/
+ index/
+ foo/
+ bar/
+ baz/
- [[web-cgi 画面で複数のインデックスを指定できるようにする:http://www.namazu.org/doc/manual.html.ja#form-idxnames]]
複数のインデックスを検索するは NMZ.head に checkbox の記述をします。
<strong>対象インデックス</strong>
<ul>
<li><input type="checkbox" name="idxname" value="foo">foo</li>
<li><input type="checkbox" name="idxname" value="bar">bar</li>
<li><input type="checkbox" name="idxname" value="baz">baz</li>
</ul>
--この例では foo, bar, baz から複数選択して検索できます。検索結果に使われる雛形ファイルは namazurc の Template指示で指定したディレクトリのものが用いられます。Template が指定されていないときは、次の規則に従います。
選択されたインデックスが 1つのとき
選択されたインデックスの雛形ファイルが用いられる
選択されたインデックスが複数のとき
基本インデックスの雛形ファイルが用いられる
*** 環境設定ファイルを指定して動作を確認 [#n42c13f8]
[root@spirit ~]# namazu -f /var/www/cgi-bin/.namazurc -C
読み込んだ設定ファイル: /usr/local/etc/namazu/namazurc
読み込んだ設定ファイル: /var/www/cgi-bin/.namazurc
--
インデックス (Index): /var/www/html/namazu/index/wiki_docs
ログの記録 (Logging): on
使用する言語 (Lang): ja_JP.eucJP
スコア計算 (Scoring): tfidf
テンプレート (Template): /var/www/html/namazu/index/wiki_docs
ヒット件数の上限 (MaxHit): 10000
マッチする語の上限 (MaxMatch): 1000
強調タグ (EmphasisTags): <strong class="keyword"> </strong>
置換 (Replace): /var/www/html/htdocs/ http://www.hmuna.com/
置換 (Replace): /usr/local/share/namazu/doc https://wiki.hmuna.com/namazu/namazu_doc/
置換 (Replace): /var/www/html/pukiwiki/ https://wiki.hmuna.com/
----
*** %%試行錯誤%% [#h81e6fb1]
- &color(red){Namazu の再インストールに伴い茶筅は使わなくなった。オーソドックスに案山子を使っている};
- darts 0.3 は chasen 2.3.2 との相性が悪い → 0.3 でメソッド名が変更されている
dartsdic.cpp:71: error: 'class Darts::DoubleArrayImpl<char, unsigned char, long int, long unsigned int, Darts::Length<char> >' has no member named 'setArray'
*** [[xdoc2 (バイナリからのテキスト抽出エンジン):http://www31.ocn.ne.jp/~h_ishida/xdoc2txt.html]] [#n90e970a]
- 殆どのバイナリ文書ファイルからテキストを抽出できます。これを namazu と組み合わせる、なんて事例もあります。
- ちなみに、wine と組み合わせて、Linux で動かすなんてこともできそうです
*** 参考 Web [#lfef91be]
- http://www.namazu.org/
- http://pcweb.mycom.co.jp/column/yetanother/045/
- http://tempest.dcnblog.jp/blog/2005/11/centos_42_namaz_b271.html
- http://nais.to/~yto/clog/2006-02-24-3.html
- http://www.asahi-net.or.jp/~wv7y-kmr/memo/namazu.html
- [[Namazu 2.0 入門:http://www.ki.nu/software/namazu/tutorial/]]
- [[xdoc2text を利用した MS-WORD 用フィルター:http://www.geocities.co.jp/SiliconValley-Oakland/8718/namazu/]]
- [[Word 用フィルターエンジン(wvware):http://wvware.sourceforge.net/]]