2003/08/23 はやぶさ通信 Vol 12号 少し、趣向を変えて、全文検索エンジンの namazu を インストールしてみたいと思います。 namazu を Windows 2000 環境にインストールするのも、 昔と比べて非常に簡単になってきているので、一度試さ れては如何でしょうか? 4.環境変数調整 通常、namazu は、デフォルトの C:ドライブにインス トールしないと上手く動かない時があるそうです。 別のドライブにインストールした場合は、namazu 関係の環 境ファイルも修正しておいてください。 1.namazu 1.namazu の入手 namazu をインストールするには、ActivePerl, namazu,kakasi などのソフトが必要です。 ① kakasi の辞書ファイルを移動します。 展開した \kakasi\share フォルダを、\namazu\share フォルダに移動します。 ② 設定|コントロールパネル|システム|詳細|環境 変数(Windows 2000 の場合) を修正します。 ・ITAIJIDICTPATH C:\namazu\share\kakasi\itaijidict ・KANWADICTPATH C:\namazu\share\kakasi\kanwadict http://www.namazu.org/windows/ の、ダウンロード と、必要なソフト というリンクから、下 記のファイルを取得します。 ・ActivePerl5.6.1.633-MSWin32ActivePerl-5.6.1.633 MSWin32-x86.msi ・nmz2012.exe ・kakasikakasi-2.3.4 また、今回は、PDFファイルも検索したいので、 xpdf もインストールします。 http://www.foolabs.com/xpdf/download.html より、下記のファイルを取得します。 ・xpdfxpdf-2.022.02-win32.zip ・xpdfxpdf-japanesejapanese-20022002-aprapr-01.tar.gz 2.インストール インストールに関しては、 http://sl.hunet.ne.jp/cgi/_cool/namazu2/ が非常に詳しいので、そちらを参照して頂ければよい と思います。 1.ActivePerl のインストール ①基本的にデフォルトでインストールします。 ②インストールが完了したら、コマンドプロンプトから perl -version として、ActivePerl の動作を確認します。 2.KAKASI のインストール ①ZIP ファイルを解凍します。 ②namazu との連携では、\kakasi\share\kakasi に ある 2 個の辞書ファイルのみ使用します。 (それ以外は削除します。) 3.Namazu for Win32 のインストール ①nmz2012.exe を実行して、インストールします。 ②コンピュータを再起動したらコマンドプロンプト を開いて、c:\namazu --help として、Namazu の 使い方が表示されることを確認してください。 5.インデックスを作る 通常、C:\namazu\var\namazu\index にインデックスを 作成しますが、H:ドライブに作成します。 MS-DOS プロンプトを開き mknmz -U -O ^(連続行) C:\namazu\var\namazu\index ^(連続行) D:\InetPub\wwwroot を実行し、NMZ.* ファイル群ができれば OK です。 6.Apache 6.Apache の CGI として、実行できるようにする。 ①C:\namazu\libexec\namazu.cgi.exe ファイルを apache2 の cgi-bin フォルダに、コピーする。 ②C:\namazu\etc\namazu\namazurc を、apache2 の cgi-bin に、.namazurc という名前でコピーする。 ③ Web ページに、検索ページへのリンクを入れる。 <a href="/cgi-bin/namazu.cgi.exe" >Search</a> ④ アクセスしてみて、動作を確認する。 ここまでで、基本的な設定は完了です。 この先は、少し特殊かもしれませんが、namazu のカスタ マイズについて説明します。 7.PDF 7.PDF ファイルのインデックス作成 PDF ファイルのインデックスを作成する場合は、外部プロ グラムの『xpdf』が必要です。(すでにダウンロード済み) ①pdf-2.02-win32.zip を解凍します。 pdftotext.exe 、ファイルを、c:\namazu\bin フォルダに、 コピーします。 sample_xpdfrc ファイルを、xpdfrc に名前を変更後、 c:\namazu\bin にコピーします。 ②xpdf-japanese-2002-apr-01.tar.gz を解凍します。 ③解凍後のフォルダ(xpdf-japanese)を、c:\namazu\share の下に、xpdf/japanese というフォルダ名で移動します。 2003/08/23 ④xpdf/japanese 下の add-to-xpdfrc ファイルを編集。 /usr/local/share/xpdf/japanese/を Windows のパス 名の C:\namazu\share\xpdf\japanese に書き換える。 ⑤書き換えた内容を、先の c:\namazu\bin にコピーし た、xpdfrc ファイルの最後に、追加します。 ⑥ 「5.インデックスを作る」 に戻って、PDF ファイルを 含めて、インデックスを作成しなおす。 8.検索フォームをカスタマイズ namazu の検索フォーム画面をカスタマイズします。 ①テンプレートファイルを編集する。 \namazu\share\namazu\template の.jp のファイル 6 個が検索フォームのテンプレートになります。 壁紙などの画像ファイルものフォルダに入れます。 これらのファイルは EUC コードで書かれています。 ②Apache2\cgi-bin\.namazurc を開き、Template 設定項目のコメントをはずします。 先のファイルを別フォルダにコピーした場合は、 テンプレートファイルのディレクトリを指定します。 これで、namazu.cgi.exe はインデックスのある フォルダからではなく、上記で指定したテンプ レートファイルを探すようになります。 9.複数のインデックスを検索する 複数のインデックスを検索するには、idxname という フィールドの値を、CGI プロセスに渡します。 ①インデックスをフォルダに分けて作成しておく 「5.インデックスを作る」 で、サブフォルダ毎に インデックスを作成します。 単純にインデックス毎にコマンドを実行します。 ②検索フォームのテンプレートの修正 NMZ.head.jp ファイルの name="idxname" の箇所のコメントを外します。(一番下のほう) <strong>検索対象:</strong> <ul><li><input type="checkbox" name="idxname" value="hayabusa" checked="checked" >hayabusa <li><input type="checkbox" name="idxname" value="java" >java <li><input type="checkbox" name="idxname" value="oracle" >oracle </ul> 10.EXCELからHTML変換時のルビ情報の削除 EXCELからHTML変換時にルビ情報が、一緒に 出力されます。 <ruby>御打合<span style='display:none'> <rt>オウチアワ</rt></span> </ruby> の形式です。 このままインデックスを作成すると、検索結果の要約に 御打合 オウチアワ のように出力されます。 ※ EXCEL ⇒ HTML 変換時にシートを指定すれば、 ルビは出ません。なんでかな~、なんでかな~♪ ここでは、namazu のフィルターをカスタマイズして、 (多少強引に)ルビを削除してみます。 ①namazu\share\namazu\filter\html.pl の remove_comments 関数に、ルビ情報を削除する正規 表現を追加します。 変更後(html.pl ファイルから抜粋) sub remove_comments ($) { my ($contref) = @_; # remove all comments $$contref = s/<rt>.*?<¥ s/<rt>.*?<¥/rt>//gs; $$contref = s/<!--.*?-->//gs; } 11.ファイル検索条件への追加、除外 デフォルトでは、.jsp , .sql , .spc などの拡張子は 検索対象とならずインデックスが作成されません。 逆に、特定のファイルは検索対象から除外したい場合があ ると思います。どちらも、namazu\etc\namazu\mknmzrc ファ イルを修正します。 ①JSP,SQL,SPC 拡張子を検索対象に追加する。 $ALLOW_FILE のコメントをはずし、追加します。 $ALLOW_FILE = ".*¥¥.(?:$HTML_SUFFIX)│.*¥¥.txt" . "│.*¥¥.gz│.*¥¥.Z│.*¥¥.bz2" . # Compressed files "│.*¥ "│.*¥¥.jsp│.*¥ .jsp│.*¥¥.sql│.*¥ .sql│.*¥¥.spc" . # jsp , sql , spc "│.*¥¥.pdf│.*¥¥.ps" . # PDF, PostScript "│.*¥¥.tex│.*¥¥.dvi" . # TeX, DVI "│.*¥¥.rpm│.*¥¥.deb" . # RPM, DEB "│.*¥¥.doc│.*¥¥.xls│.*¥¥.ppt" . #Word,Excel,PowerPoint "│.*¥¥.j[sabf]w│.*¥¥.jtd" . # Ichitaro 4, 5, 6, 7, 8 "│¥¥d+│[-¥¥w]+¥¥.[1-9n]"; # Mail/News, man ②検索対象から、dummy.html と、_(アンダーバー) 付ファイル、ディレクトリは、除外します。 $DENY_FILE と、$EXCLUDE_PATH を設定します。 $DENY_FILE =“^_.*│dummy ^_.*│dummy¥ ^_.*│dummy¥¥.html│index.jsp│.*¥¥.(gif│png│jpg│jpeg) .html │.*¥¥.tar¥¥.gz│core│.*¥¥.bak│.* │¥¥..*│¥x23.*"; $EXCLUDE_PATH = "/_.* /_.*"; /_.* はやぶさ通信 Vol 12 号 2003/08/23 はやぶさ推進委員会/はやぶさ連絡協議会 会社名および製品名は、各社の商標または登録商標です。
© Copyright 2024 ExpyDoc