サーバー構築 セキュリティ 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を利用するならともかく、実際にWeb用に公開する場合にはもう少し見栄えの良いものにしたいものです。そこで、Namazuにはテンプレートとして検索画面のHTMLファイルを読み込むことで、そのデザインをカスタマイズすることができるようになっています。テンプレートファイルはヘッダーとメインとなる検索結果を表示する部分とフッターの3つのファイルから構成されており、「C:\namazu\share\namzu」に格納されています。基本的にカスタマイズしていくファイルは拡張子が「ja」の以下の6つのファイルとなります。





これらのファイルは文字コードがEUC(Extended UNIX Code)で記述されているため、実際に編集を行っていく際にはEUCファイルを編集することのできる、「Terapad」や「秀丸エディタ」などを使用する必要があります。Web作成ソフトを使用して編集する場合にも、環境設定で標準の文字コードを「EUC」にしておきます。以下に代表的なテキストエディタでの漢字コードの設定方法を解説しておきます。

◎エディタの環境設定

■Terapad

「Terapad」を使用する場合は、「ツール」→「ツールの設定」→「ウィンドウ/漢字コード」の「漢字/改行コードを自動認識する」にチェックをいれ、保存時の漢字コードと改行コードを「読み込み時の漢字コード/改行コードと同じ」を選択します。



■秀丸エディタ

「その他」→「動作環境」→「高度なウィンドウ」で、「文字コードの種類を表示する」のプルダウンメニューから「全ての文字コード+改行コード」を選択します。これで、ウィンドウの左上からそのファイルの文字コードと改行コードを確認できるようになります。




次に「その他」→「動作環境」→「編集」で「文字コードの自動認識をする」のチェックボックスにチェックをいれます。





■Dreamweaver4

「編集」→「環境設定」→「フォント/エンコーディング」の「エンコーディング初期設定」から自分が使用したい漢字コードを選択します。


上記で紹介した6つのテンプレートファイルを開いてみればわかると思いますが基本的には、ヘッダー部分である「NMZ.head.ja」とフッター部分である「NMZ.foot.ja」、ボディ部分(検索結果の表示画面)である「NMZ.result.normal.ja」を編集していきます。必要があれば、その他のテンプレートファイルも各自で編集するようにしてください。

なお、編集する際には、これら6つのファイルをドキュメントルート以下のディレクトリにコピーして編集していった方が良いでしょう。その際には「.namazurc」を編集して、ドキュメントルート以下に格納されたテンプレートを読み込みにいくように設定を変更しておく必要があります。「.namazurc」を開いて以下の部分を編集してください。

 Template F:\www\public_html\template

行頭のハッシュマークを削除し、「Template」ディレクトリのパスを正確に記述しておきます。ここでは、ドキュメントルート(F:\www\public_html)以下に「Template」ディレクトリを作成し、その中に6つのテンプレートファイルをコピーしておきます。このように指定しておくことでNamazuは「Namazu」ディレクトリ以下にテンプレートファイルがあろうとも、ここで指定したディレクトリに存在するテンプレートファイルの方を優先してに読み込みにいくようになります。あとは、HTMLの知識さえあればカッコイイ検索画面へとカスタマイズしていくことができるでしょう。







複数のインデックスを作成しておくことで、ジャンルごとに検索をかけさせる場合に威力を発揮します。複数インデックスを利用すると、チェックボックスにチェックをつけた項目だけに絞って検索をかけることができるようになるので検索の的を絞りやすくなるという利点があります。例えば、

Windows Macintosh Unix 

という3つのジャンルがあり、Windows用OutlookExpressの解説に対して検索を行いたい場合は明らかに「Windows」というジャンルで検索をかけた方が目的の記事を探しやすくなります。このようなジャンルごとに分けて検索を行う場合は、対象となるインデックスをWindows用とMacintosh用とUnix用の3つのインデックスをあらかじめ作成しておく必要があります。では、以下に複数のインデックスの作成の仕方について解説していきます。


■インデックス用のフォルダを作成する

デフォルトではインデックスを作成する場所は「C:\namazu\var\namazu\index」ですが、「index」ディレクトリ以下にさらに「windows」、「macintosh」、「unix」ディレクトリを作成します。なお、ディレクトリ名は各自で自由につけてください。

■「NMZ.head.ja」の編集

テンプレートファイルである「NMZ.head.ja」を開いて、以下のようなソースを探してください。

<!--
<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>
-->


HTMLコメント「<!--」と「-->」を削除して、「<input type="checkbox" name="idxname" value="bar">bar」の部分を「<input type="checkbox" name="idxname" value="windows">Windows」のように書き換え、結果的には以下のようになります。なお、このソースはあくまでサンプルとして用意されているものなので実際には、自分のWebサイト用にソースをカスタマイズしても構いません。

<p>
<strong>検索対象:</strong>
<ul>
<input type="checkbox" name="idxname" value="windows" checked>Windows
<input type="checkbox" name="idxname" value="macintosh">Macintosh
<input type="checkbox" name="idxname" value="unix">Unix
</ul>
</p>


以上の操作を終えたら、最後にインデックスの作成を行います。今まではインデックスがひとつのケースでしたが、今回は3つのインデックスを作成する必要があるので、以下のようなコマンドを3回、実行します。この時、インデックス作成先と、インデックス作成対象とするディレクトリのパスを正確に記述してください。

 mknmz -O c:\namazu\var\namazu\index\windows f:\www\public_html\windows
 mknmz -O c:\namazu\var\namazu\index\macintosh f:\www\public_html\macintosh
 mknmz -O c:\namazu\var\namazu\index\unix f:\www\public_html\unix


以下の画面の赤枠で囲まれたチェックボックスが現れます。あとはチェックボックスのオン・オフを切り替えて検索し、正常にインデックスが複数に分かれているかどうかの確認を行ってください。








インデックスは一度作成してしまえば、あとは自動的に更新してくれるというわけではありません。よって、ファイルを更新するたびにいちいちインデックスを作成しなおさなければなりません。これでは、ちょっと面倒くさいし、インデックスの更新し忘れも考えられます。そこで、タスクスケジューラなどを利用し、インデックスの更新を自動化しておくことでこれらの問題を解決することができます。タスクスケジューラは非常に便利にも関わらず、意外と利用していない方の方が多いのでこれを機会に是非、タスクスケジューラの使い方を覚えておきましょう。

では、まずメモ帳などのテキストエディタを起動し、以下のようにインデックスの作成コマンドを入力し、拡張子は必ず、「.bat」にして保存します。ここでは、ファイル名は「makeindex.bat」として保存します。保存先は基本的にどこでも構いませんが、間違って削除さたりしまわないようにシステムディレクトリ(c:\windowsやc:\winnt\system32など)や「c:\namazu\bin」ディレクトリなどに保存しておくと良いでしょう。

 mknmz -O c:\namazu\var\namazu\index f:\www\public_html


「コントロールパネル」→「タスク」→「スケジュールされたタスクの追加」をクリックし、ウィザードに従って設定を進めていきます。なお、ウィザードを使用せず、「新規」→「タスク」から直接、編集をしていっても構いません。




実行するプログラムから「makeindex.bat」を選択し、タスクの実行間隔を「日単位」とします。「次へ>」をクリックします。




開始時刻ととタスクの実行間隔を指定し、「次へ>」をクリックします。




ユーザー名とパスワードを入力し、「次へ>」をクリックします。なお、パスワードを入力する場合は、Windowsログオン時のパスワードを正確に入力してください。




「完了」をクリックしたときに詳細プロパティを開くにチェックを入れ、「完了」をクリックします。




以下のよう画面が表示されるので、設定を変更したい場合は、随時変更を行ってください。







Namazuで検索をかけた際に表示される要約の文字数はデフォルトでは200文字となっています。この文字数をもっと増やしたい場合は「C:\namazu\etc\namazu」ディレクトリ内の「mknmzrc」を編集します。「mknmzrc」を開いて以下の部分を適当な値に設定してください。

 $MAX_FIELD_LENGTH = 400;

行頭のハッシュマーク(#)を削除して、数値を表示させたい文字数に設定します。上記の例ではデフォルトの200文字から400文字に設定しています。なお、ここで数値を変えて再度、検索をかけたにも関わらず、やっぱりデフォルトの200文字しか表示されないという方は一度、「mknmzrc」を適当な場所へ移動し、インデックスを作成してみてください。おそらく「mknmzrc」が移動したことで、インデックスを作成しようとしてもエラーが発生するか、正常にインデックスが作成されないかだと思います。そこで、「mknmzrc」を元の位置に戻し、再度、インデックスを作成してみてください。少なくとも管理人の環境ではこのようにすることで正常に表示されるようになりました。

◎200文字から600文字にした例





 

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