CGI スクリプトの利用

【 Namazu 】

【 Namazuのカスタマイズ 】
ここまでの説明で、Namazuは既に使用できるようになっているはずです。
しかし、そのまま使用すると、あまりにも素っ気無い気もします。
そこで、自分の好みに合わせて表示画面などを変更していきます。
■Namazuの検索結果表示文字数を変更するにはインストール先の" C:\namazu\etc\namazu "の中にある「mknmzrc」をメモ帳で編集します。
■Namazuの表示画面を変更するには " C:\namazu\share\namazu\template "の中にある
「NMZ.body.jp」、「NMZ.foot.jp」、「NMZ.head.jp」を「秀丸」などUnixコードが扱えるエディタソフトで編集します。
これらを編集される場合は、同様に拡張子に「.jp」がついている全6ファイルを他のディレクトリに移してください。
そうしないと、各NMZファイルを変更してもmknmzを再実行されると、各ファイル内容が元の状態に上書きされてしまいます。
ここでは、同ディレクトリ内に「jp」と言うディレクトリ" C:\namazu\share\namazu\template\jp "を作成し、その中に全6ファイルを移動している事を前提に説明していきます。
【 検索結果の文字数を変更 】
標準では検索結果として表示される文字数は200文字になっています。
これを、もう少し多く表示させるように変更します。
ここでは500文字表示に設定しますが、自分に合った文字数を設定してください。
" C:\namazu\etc\namazu " の中にある「mknmzrc」を設定編集します。
メモ帳で「mknmzrc」を開きます。
頭についているを削除して下記のように編集します。
編集が終了したら「上書き保存」でメモ帳を閉じます。
$MAX_FIELD_LENGTH = 500;
設定後、検索結果が変わらない場合は「mknmzrc」を1度、他のディレクトリへ移動しインデックス化を行います。
エラーでインデックスが作成できませんが、その後もう1度「mknmzrc」を元の場所へ戻しインデックス化を行います。
この時は正常にインデックス化がされると思います。
その後、全文検索を行い、表示結果が指定した文字数になっている事を確認してください。
以上で、検索結果の文字数変更は終了です。
【 検索結果表示画面を変更 ・・・ NMZ.head.jp 】
標準の検索結果画面では、何か味気が無いので、自分のサイトなどに合わせて背景色や、自分の文章等を入れます。
まず、Unixコードが扱えるエディタで" C:\namazu\share\namazu\template\jp "にある" NMZ.head.jp "を開きます。
ファイル名で判ると思いますが、このファイルは「ヘッダ部」に該当し、編集のしかたはHTMLファイルの要領と同じです。
既に記載されている部分を変更していきます。
■8行目
<title>saruとNamazuのサイト内検索</title>
等とすると、ブラウザのタイトルが上記入力文字に変更されます。
■26行目
<h1>saruのサイト内検索結果</h1>
等とすると、検索結果画面上部に、入力文字が表示されます。
<h1>ではなく、<strong>等と変更しても使用できます。
■36行目
<BODY style="font-size : x-small;" bgcolor="#00FFFF">
等と追加すると、サイトで使用している文字の大きさや、背景色に合わせる事が出来ます。
■9行目
<style type="text/css"><!--
strong.keyword { color: Red; }
A:link {color:#0000ff;text-decoration="underline"}
A:visited {color:#0000ff;text-decoration="underline"}
A:active {color:#ff0000;text-decoration="underline"}
A:Hover {color:#ff0000; text-decoration="underline"}
--></style>
スタイルを利用しリンク表示方法なども変更できます。
その他、色々自分なりにカスタマイズをし、環境を作成してください。
【 検索結果表示画面を変更 ・・・ NMZ.foot.jp 】
まず、Unixコードが扱えるエディタで" C:\namazu\share\namazu\template\jp "にある" NMZ.foot.jp "を開きます。
ファイル名で判ると思いますが、このファイルは「フッタ部」に該当し、編集するのはHTMLファイルの要領と同じです。
既に記載されている部分を変更していきます。
■10行目
<a href="mailto:saru@monkey.info">サイト内検索結果に関する事はこちらまで</a>
等と、連絡先を記載したり、BBSへのURLなどを記載したり出来ます。
その他、自分の環境に合わせて色々と工夫しましょう。
【 複数インデックス使用 ・・・ NMZ.head.jp 】
まず、Unixコードが扱えるエディタで" C:\namazu\share\namazu\template\jp "にある" NMZ.head.jp "を開きます。
他にカスタマイズを行っていない場合の標準行では、68行目と78行目を削除します。
「<!--」と「-->」が該当します。
この作業を行う事により、検索目的カテゴリ別に検索結果を表示させる事が出来るようになります。
<!--
<p>
<strong>検索対象:</strong>
<ul>
<li><input type="checkbox" name="idxname" value="foo" checked>foo
<li><input type="checkbox" name="idxname" value="bar">bar
<li><input type="checkbox" name="idxname" value="baz">baz
</ul>
</p>
-->
インデックスネーム自分の環境に合ったカテゴリに変更します。
標準では3つ、カテゴリ別に検索項目がありますが、自分の環境に合わせて増やしたり、減らしたり出来ます。
<strong>検索対象:</strong>
<ul>
<li><input type="checkbox" name="idxname" value="windows" checked>Windows
<li><input type="checkbox" name="idxname" value="server">Server
</ul>
上記作業を行うと、カテゴリを選択し検索が出来るチェック項目がつき表示されます。
img147
選択項目が表示されたので、Windowsに関連したディレクトリ、Serverに関連したディレクトリと分け、インデックスを作成します。
公開ディレクトリがD:\www\public_htmlであり、そのディレクトリの中にWindowsに関連したディレクトリがwindowsの場合、" D:\www\public_html\windows "
公開ディレクトリがD:\www\public_htmlであり、そのディレクトリの中にServerに関連したディレクトリがserverの場合、" D:\www\public_html\server "になり、これらのインデックスを作成します。
インデックス作成方法は、先に説明した内容と同じですが、今回は2つありますので下記のようになります。
mknmz -O D:\www\public_html\cgi-bin\namazu\windows D:\www\public_html\windows
mknmz -O D:\www\public_html\cgi-bin\namazu\server D:\www\public_html\server
インデックスを自動化する場合は、こちらをご覧ください。
また、長期使用によって検索結果に時間が掛かる場合には、こちらを参考にしてみてください。
以上の作業を行う事により、インデックスを複数作成し、かつごり別に検索結果を表示させる事が可能です。
インデックス数や、検索選択項目は幾つでも増やす事が出来ますし、アイディア次第では、同カテゴリ内容の他サイトも検索結果に含め出力する事も可能です。
自分なりに工夫し、自分に合った環境で作業を進めてください。
ここまでの説明で、WWW Server、FTP Server、CGI設置と、一般的な構築が全て完了しました。
以上で基本的なことは終了です。
後は、色々なアイディア次第でServerやCGIを使って創意工夫をし、魅力あるサイト作りが出来る事と思います。