サーバー構築 セキュリティ 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
 


NamazuをPHPで使う


NamazuのCGI版ではカスタマイズに限界があります。そこで、PHPを使用してNamazu全文検索システムを導入すれば無限のカスタマイズが可能となります。PHPはHTMLの中に埋め込むことができるという性質上、ヘッダー、フッター、ボディにとらわれずHTML内であればどこにでも設置することができるようになります。



まず、NamazuをPHPで使うためにはNamazu拡張モジュールをダウンロードしてくる必要があります。最新のファイルは以下のサイトよりダウンロードしてきてください。ファイル名は「php4_namazu-2.1.0」です。また、当ページの記述は「TAG'S WEBPAGE」の記述文を脚色させていただきました。

TAG'S WEBPAGE

ダウンロードしてきた「php4.2.x-namazu-2.1.0-win.zip」を解凍すると以下のような「README.en」「README.ja」「php_namazu.dll」という3つのファイルが展開されます。「README.ja」をテキストエディタで開くとPHP用のNamazu関数について詳しく説明されているのでカスタマイズする際には参考にすると良いでしょう。


■php_namazu.dllのコピー

拡張モジュールを追加するために、「php_namazu.dll」をPHPディレクトリ内の「/php/extensions」ディレクトリにコピーします。


■「php.ini」の編集

次に、システムフォルダ内にある「php.ini」をテキストエディタで開き、以下の記述を追記します。なお、以下の記述は「extensions」フォルダ内にある「php_namazu.dll」ファイルをモジュールとして追加するという意味を表しています。

 extension=php_namazu.dll

Namazu関数を有効にするために、「php.ini」に以下の記述を追記します。

 namazu.debugmode = Off
 namazu.lang = ja_JP.SJIS
 namazu.loggingmode = On
 namazu.sortmethod = field:from
 namazu.sortorder = ascending


◎Namazu関数の説明

 Namazu.lang デフォルトで使用する言語を指定します。「ja」でEUC-JP(日本語EUC)、「JP.SJIS」でSHIFT-JIS、「fr」でフランス語、「es」でスペイン語、「指定なし」で英語となります。

 namazu.loggingmode デフォルトのNMZ.slogへの出力を指定します。「On」「Off」で切り替えます。

 namazu.sortmethod

デフォルトの並べ替え方法を指定します。「score」(スコア)、「date」(日付順)、「field:{field_name})」が指定できます。

 namazu.sortorder デフォルトの並べ替え順を指定します。「descending」(降順)、「ascending」(昇順)が指定できます。



■Namazuモジュールが組み込まれたかどうかの確認

それでは、最後に実際にNamazu拡張モジュール「php_namazu.dll」が組み込まれたかどうかの確認を行います。テキストエディタを開いて、以下のように記述し、「test.php」というファイル名でドキュメントルートに保存し、ブラウザでアクセスしてみます。

<?php
echo phpinfo();
?>


以下のような記述が表示されれば、PHP用のNamazu拡張モジュールが正常に組み込まれていることになります。




あとは、いわきり氏(http://datula.mio.org/~iwakiri/php_nmz_sample.tar.gz)によって公開されているサンプルソースを「namazu.cgi」の代わりに使用して自分用にカスタマイズしていけばPHP版のNamazuの設定は完了です。






それでは、次にNamazuのインデックス作成時に拡張子「.php」をインデックス作成対象にする設定を行います。Namazuはデフォルトでは拡張子「.html」と「.shtml」のみしかインデックスの作成対象になっていません。そこで、拡張子「.php」もインデックスの作成対象とするために「namazu/etc/namazu」ディレクトリ内にある「mknmzrc」ファイルを編集する必要があります。では、「mknmzrc」をテキストエディタで開いて以下のような記述を探してください。

# $ALLOW_FILE = ".*\\.(?:$HTML_SUFFIX)|.*\\.txt" . # HTML, plain text
# "|.*\\.gz|.*\\.Z|.*\\.bz2" . # Compressed files
# "|.*\\.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


まず、一行目の「# $ALLOW_FILE = ~」の行頭のコメント「#」をはずします。そして最後の行に「"|.*\\.php"; 」を加えます。結果的に以下のようにしてください。これで拡張子「.php」がインデックス作成対象として追加されました。あとは「mknmz」コマンドを使用して通常どおりに、インデックスを作成するだけです。

$ALLOW_FILE = ".*\\.(?:$HTML_SUFFIX)|.*\\.txt" . # HTML, plain text
# "|.*\\.gz|.*\\.Z|.*\\.bz2" . # Compressed files
# "|.*\\.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
"|.*\\.php"; # PHP



 

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