CENT_Namazu
の編集
index.php?CENT_Namazu
[
トップ
] [
編集
|
差分
|
履歴
|
添付
|
リロード
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
]
-- 雛形とするページ --
(no template pages)
#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/]]
タイムスタンプを変更しない
#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/]]
テキスト整形のルールを表示する
添付ファイル:
libiconv-1.10.tar.gz
17件
[
詳細
]
glib-2.9.6.tar.gz
19件
[
詳細
]
wv-1.2.4.tar.gz
20件
[
詳細
]
jt.pl
34件
[
詳細
]
libgsf-1.9.1.tar.gz
19件
[
詳細
]
libiconv-1.10-ja-1.patch.gz
17件
[
詳細
]
wv2-0.2.3.tar.bz2
13件
[
詳細
]
xlhtml-0.5.tgz
17件
[
詳細
]
darts-0.2.tar.gz
17件
[
詳細
]
darts-0.3.tar.gz
11件
[
詳細
]
libiconv-1.11.tar.gz
17件
[
詳細
]
libwmf-0.2.8.4.tar.gz
18件
[
詳細
]
utf8conv.sh
18件
[
詳細
]
ipadic-2.7.0.tar.gz
17件
[
詳細
]
namazu-2.0.14.tar.gz
19件
[
詳細
]
chasen-2.3.3.tar.gz
19件
[
詳細
]