Namazu検索キーワード・ログビューワー説明書

NMZ.slog Viewer (ver.0.20) 2002年6月3日版
Copyright(C)2001-2002 hiro All Rights Reserved.
配布場所:Namazu(Perl版)設置ノウハウ URI:http://cinema1987.org/data/howto2.htm

NMZ.slog Viewerをダウンロードしていただき、ありがとうございます。このスクリプトは全文検索ソフトウェアNamazuが、NMZ.slogというファイルに残すログ(検索キーワード、ヒット数、検索日時、IPアドレス)をブラウザから見るために使います。
 Namazuを使っていない人にはまったく無用のスクリプトです。使っている人には少しは有用かもしれません。
 フリーで改造、再配布も自由ですが、著作権は放棄していません。


【このアーカイブに含まれるもの】

nlview.cgi…検索キーワードを新しい順に表示
nlsort.cgi…検索キーワードを多い順に表示
nlday.cgi…日付を指定して検索キーワードと検索回数を表示
readme.html…この説明書

【機能】

 1.検索キーワードを新しい順に表示。
 2.表示件数を設定できる。
 3.ログの総数が分かる。
 4.表示したキーワードをクリックすると、Namazuで検索できる。
 5.NMZ.slogのファイルサイズを表示する。
 6.キーワードの検索回数を順位別に表示する。(以上、nlview.cgi)
 7.日付を指定して検索キーワードと検索回数を表示する(nlday.cgi)。

以上の7つです。ログ削除機能もあると便利とは思いますが、たまにしか使わないでしょうから、個人的にあまり必要性を感じません。
 HTMLの出力部分は適当に改造して使ってください。表示にCSSを使っていますので、インターネットエクスプローラー、Netscapeともバージョン4.0以降(Netscapeはできれば6.0以降)が適しています。

【スクリプト利用規程】

 ・すべて無保証です。
 ・スクリプトの利用、改造・再配布ともフリーです。
 ・設置は自己責任でお願いします。
 ・このスクリプトを利用した事によるどんな損害も私(hiro)は一切の責任を負いません。

以上の規程に同意していただける方のみ利用してください。

【設置方法】

nlview.cgiのPerlのパスなど設定項目を書き換え、Namazuのインデックスファイルと同じフォルダにアスキーモードで転送します。パーミッションを755に変えて、ブラウザからnlview.cgiにアクセスすれば、とりあえず表示できるはずです。ブラウザからアクセスできない場所にインデックスファイルがある場合は相対パスか絶対パス(/home/hoge/public_html/namazuの書き方)でNMZ.slogへのパスを書いてください。なお、ver.0.16からnlviewとnlsortを統合しましたので、設置はnlviewだけでけっこうです。検索キーワードの順位表示だけをしたい場合に同梱のnlsortをご使用下さい。

nlday.cgiはアクセスすると、前日のキーワードを表示します。フォームに年月日を入れて実行すると、見たい日の検索キーワードと検索回数を表示します。

nlview.cgiの設定項目は以下の通りです。

#ホームページのURI
$page = 'http://foo.bar.ne.jp/~hoge/';

#ホームページのタイトル
$title = 'My Homepage';

#最近の検索キーワードを表示するページのタイトル
$nlview_title = '最近の検索キーワード';

#NMZ.slogファイルの場所。相対パスか絶対パスで。
$logfile = '/home/hoge/public_html/namazu/NMZ.slog';

#デフォルトで1ページに表示するキーワードの件数。
$max = "20";

#表示件数を変更する場合、許可する最大件数。
#あまり大きくするとサーバー負荷が大きくなりますので注意。
$maxdis = "100";

#namazu.cgiのURI。相対パス指定可
$namazu = 'http://foo.bar.ne.jp/~hoge/namazu/namazu.cgi';

#インデックスフォルダの名前。複数インデックスの場合だけ、
#インデックスフォルダの名前を書いてください。キーワードからNamazuに
#ジャンプする場合に必要です。
#cinemaとdiaryという名前のインデックスの場合は下のようになります。
#記述例: $index = "&idxname=cinema&idxname=diary";
$index = "";

#IPアドレスを表示するかどうか。表示する場合1、表示しない場合は0を記入。
$ipad = "1";

#検索キーワードの順位を表示するページのタイトル
$logbest = "検索キーワードベスト30";

#検索キーワードを何位まで表示するか。上のタイトルの数字と合わせてください。
$maxbest = "30";

#このスクリプトの名前。
$script = 'nlview.cgi';

リンクの色などはHTML出力部分を適宜変更してください。
 設定は簡単と思いますが、複数インデックスを使う場合、少しややこしくなります。
 Namazuは例えば、以下のような記述で検索キーワードを渡します。これ はcinema、diaryという2つのインデックスで「映画」というキーワードを 検索した場合。

http://foo.bar.ne.jp/~hoge/namazu/namazu.cgi?query=%B8%A1%BA%F7&whence=0&max=20&result=normal&sort=score&idxname=cinema&idxname=diary

この中で必要なのは一番最後の“&idxname=cinema&idxname=diary”の部分です。nlview.cgiの該当個所(41行目)は

$index = "&idxname=cinema&idxname=diary";

という形になります。“&idxname=”でつないでいけば良いわけです。

分からない場合、nlview.cgiをどちらか片方のインデックスに入れて、 $index = "";のままにしておいてもかまいません。この場合、キーワードをクリックすると、そのインデックスだけを検索します。
 スクリプトはEUCコードで書いてありますので、書き換えたら必ずEUCで保存してください。Windowsのメモ帳は使えません。

このスクリプトはあくまで「最近のキーワード」を表示するものですから、NMZ.slogのサイズが大きくなったら、FTPで空のNMZ.slogを上書きするか、ダウンロードして不要ログを削除することをお勧めします(シェルが使えるなら、ゼロリセットコマンド : >NMZ.slog が簡単です)。

不十分なスクリプトで、改善の余地は大きいと思います。バグや改善のアドバイスなどありましたら、hiro宛てに連絡していただくと幸いです。

MAIL to hiro

【更新履歴】

ver.0.20(2002年6月3日)nlday.cgiでNMZ.slogにログが1年以上ある場合の表示のバグを修正。
ver.0.19(2002年5月15日)nlday.cgiで日付を指定して表示できるようにした。
ver.0.18(2002年4月27日)NMZ.slogにJavaScriptなどが含まれている場合、実行してしまうバグ修正。前日の検索キーワードを表示するnlday.cgiを同梱。
ver.0.17(2002年2月18日)IPアドレスを表示しない設定を追加。デザイン変更。
ver.0.16(2001年10月6日)nlviewとnlsortを統合。ソースの整理。
ver.0.15(2001年8月6日)検索キーワードを順位別に表示するnlsort.cgiを同梱。ソースの整理。
ver.0.14(2001年6月18日)検索キーワードが英語で長すぎる場合に表示が壊れるのを修正。表示の色設定を設定項目に追加。
ver.0.13(2001年5月8日)表示の仕方を改善。ログの最後にジャンプする[LAST]、一つ前に戻る[BEFORE]を追加。
ver.0.12(2001年4月9日)NMZ.slogのファイルサイズを表示するようにした。
ver.0.11(2001年3月25日) 表示件数を変えられるようにした。キーワードをNamazuに渡すようにした。初公開。
ver.0.10(2001年3月22日)とりあえず完成。非公開。