サーバー構築 セキュリティ TCP/IP基礎 TIPS 書籍 ブログ

Web全体 サイト内検索

 ネットショップを利用する
SSL暗号化通信を理解しよう
ネット銀行口座を開設しよう
 インストールメモ
Perlのインストール(ActivePerl)
PHPのインストール/Webサーバー設定
MySQL4のインストール
phpMyAdminのインストール
Zend Optimizer のインストール
Movable Type のインストール
 Namazu全文検索の導入
Namazuのインストール
Namazuの設定
Namazuのカスタマイズ
NamazuをPHPで使う
 関連 DOWNLORD
ActivePerl
PHP
Zend(本家)
Zend(日本サイト)
MySQL
PostgreSQL
Cygwin
NAMAZU for Win32
PHP4 Namazu モジュール for Win32
phpMyAdmin
search-s for Namazu
KAKASI
 


PINGコマンド/TRACERTコマンド


次にNamazuの設定の解説に移ります。Namazuの設定は基本的に「C:\namazu\etc\namazu」ディレクトリに格納されている「mknmzrc」と「namazurc」を編集していきます。ここでは、「namazurc」の必要箇所のみに絞って解説します。以下を参考にして「namazurc」を編集していってください。



■「namazurc」の編集

「C:\namazu\etc\namazu」にある「namazurc」を開いてください。なお、「namazurc」を編集する際は、いつ間違えてもいいようにバックアップをとっておいた方が良いでしょう。

 Index C:\namazu\var\namazu\index

インデックス作成のディレクトリを指定します。これから「mknmzコマンド」を使用してインデックスを作成する際に、ここで指定したパスにインデックス情報が作成されるようになります。

 Replace /f\|/www/public_html/ http://win.kororo.jp/

行頭のハッシュマーク(#)を削除します。「Replace」とは、検索対象の文書を含んだディレクトリ(Webサイトを公開する場合は、ドキュメントルート以下の検索をかけたいディレクトリ)を「http://~」で始まるURLに置換(リプレース)する意味をもっており、CGI経由でNamazuを使う際には必ず検索対象ドキュメントとリダイレクトするURLを指定しておく必要があります。Namazuをインストールした場所と検索をかけたいディレクトリが異なるドライブにある場合は、「ドライブ名\|」を付け加えます。

 Lang ja_JP.SJIS

言語の指定を行います。デフォルトではシフトJISに設定されていますが、異なる漢字コードで検索を行いたい場合は適宜変える必要があります。「SJIS」の他には、「ja」, 「ja_JP.eucJP」, 「ja_JP.EUC」,「ja_JP.ujis」などが指定できます。漢字コードがよくわからない場合は「SJIS」のままにしておくか、「ja」にしておけば問題ないでしょう。なお、英語の環境で使用する場合に置いては行頭にハッシュマークを加えます。

 EmphasisTags "<strong class=\"keyword\">" "</strong>"

行頭のハッシュマーク(#)を削除します。検索結果のタイトルを強調表示にします。



■NamazuをCGIとして使う

次に、上記で編集した「namazurc」ファイルをWWWサーバーで指定してある「cgi-bin」ディレクトリへ「.namazurc」というファイル名に変更して保存します。この時、ファイル名に「.」(ドット)を付け忘れないように注意してください。

保存し終わったら「C:\namazu\libexec」ディレクトリに格納されている「namazu.cgi.exe」ファイルも「cgi-bin」ディレクトリにコピーします。なお、後述のWebサイト全文検索を行う前にはWWWサーバーの設定で「cgi-bin」ディレクトリのパスを指定しておいてください(必ずしも必要な設定ではありません)。参考までにApacheの場合は「httpd.conf」を開いて、

  ScriptAlias /cgi-bin/ "F:/www/public_html/cgi-bin"

のように「cgi-bin」ディレクトリのパスを記述しておきます。

ここまでの操作で「cgi-bin」ディレクトリは以下のように2つのファイルが格納されているはずです。





■インデックスを作成する

それでは、「mknmzrcコマンド」を利用してインデックスを作成する作業に移ります。コマンドプロンプトを起動して以下のように入力してください。

  mknmz -O C:\namazu\var\namazu\index F:\www\public_html

「-O」オプションスイッチは以降に続く文字列(ここではC:\namazu\var\namazu\indexとF:\www\public_html)をインデックス作成ディレクトリとインデックス対象ディレクトリとして指定するために使用します。ここでは、インデックスファイルの作成先を「C:\namazu\var\namazu\index」とし、インデックスの対象ディレクトリを「F:\www\publuic_html」(ドキュメントルート)として指定しています。各自、インデックスの作成先と作成対象を変更したい場合は、適宜パスを変更してください。

以下のように表示されれば正常にインデックスが作成されたことになります(尚、ここでは最小限度のディレクトリに絞ってインデックスを作成しています)。ここで指定した「C:\namazu\var\namazu\index」ディレクトリの中身を確認してもらえばわかると思いますが、「NMZ.」で始まるファイルがたくさん作成されたはずです。以上のことが確認できたら実際にブラウザで検索をかける作業に移ります。

C:\>mknmz -O c:\namazu\var\namazu\index f:\www\public_html
検索対象のファイルを調べています...
7個のファイルがインデックス作成の対象として見つかりました
1/7 - /f|/www/public_html/link_top.html [text/html]
2/7 - /f|/www/public_html/report.html [text/html]
3/7 - /f|/www/public_html/index.html [text/html]
4/7 - /f|/www/public_html/result1.shtml [text/html]
5/7 - /f|/www/public_html/template.shtml [text/html]
6/7 - /f|/www/public_html/template2.html [text/html]
7/7 - /f|/www/public_html/env_chk.shtml [text/html]
インデックスを書き出しています...
[基本]
日付: Sat Jul 27 14:25:53 2002
追加された文書の数: 7
サイズ (bytes): 122,194
合計の文書数: 7
追加キーワード数: 1,866
合計キーワード数: 1,866
わかち書き: module_kakasi -ieuc -oeuc -w
経過時間 (秒): 11
ファイル/秒: 0.64
システム: MSWin32
Perl: 5.006001
Namazu: 2.0.10





まず、確認のために最初は簡単なフォームを作成して試してみます。以下のソースをコピー&ペーストして「cgi-bin」ディレクトリより1階層上のディレクトリに「search.html」というファイル名で保存します。ファイル名は自由につけて結構です。

<html>
<body bgcolor="#FFFFFF" text="#000000">
<form method="get" action="cgi-bin/namazu.cgi.exe">
<input type="text" name="query" size="15" maxlength="50">
<input type="submit" name="submit" value="検索">
</form>
</body>
</html>

「http://XXX/searh.html」と入力して現れたフォーム画面で適当な単語を入力し、「検索」をクリックします。




以下のように検索結果が表示されたでしょうか?なお、Namazu検索画面だけならば「http://XXX/cgi-bin/namazu.cgi.exe」で表示させることができます(XXXは任意のホスト名)。








■リンクをクリックしてもリンク先へ行けない(>_<)

上記のような検索画面が表示されたにも関わらず、リンク部分をクリックしてもリンク先へ行けないで悩んでいる人もいるかと思います。その場合は、リンク先のURLをみてもらえばわかるとおり、「/f|/www/public_html/archi/template/template.shtml」のように「/f|」がついていないでしょうか?これはローカルにあるディレクトリのパスが正常にホスト名(例:http://win.kororo.jp)に置換されていないためで、当然リンク先へ行くことはできません。この原因は大抵の場合、「.namazurc」の「Replace」の設定が間違って記述されているためです。「.namazurc」を開いて以下の文章を探してください。

 Replace /f\|/www/public_html/ http://win.kororo.jp/

原因1 「/f\|/」の部分のドライブの文字が大文字、あるいは小文字になっている。Replaceでは大文字の小文字の区別をきっちりと行うので、ドライブの文字を大文字で記述するか小文字で記述するかは非常に重要なところです(大文字か小文字かは環境によって異なります)。したがって、小文字を指定して不可能な場合は大文字で、大文字を指定して不可能な場合は小文字で記述するようにしてください。

原因2 「/f|/」のように「\」が抜けていると正常に置換処理をしてくれません。きちんと「/f\|/」のように「\」を用いてエスケープ処理をしておく必要があります。「エスケープする」とは、その文字の前にエスケープ文字「\」を挿入することを言います。



 

Copyrights©KORO 2002-08 All Rights Reserved.Since 02/08/15 | サイトのプライバシーポリシー