インデックスの作成
注意:
このページは、レンタルサーバー SPEEDEX VPS v1 の技術サポートです。
SPEEDEX VPS v1 には FreeBSD サーバーA、FreeBSD サーバーB、FreeBSD サーバーC、Solaris Standard、Solaris Pro の 5 タイプがあります。
2009年6月現在、5 タイプとも新規オーダーはお受けしておりません。
現在提供中のサービスについては SPEEDEX のメニューページを参照ください。
なお、Solaris Standard、Solaris Pro につきましては 2010年5月を持ってサービスを停止する予定です。
SPEEDEX VPS v2 サーバーご利用の場合は v2 サーバーサポートページを参照ください。
SPEEDEX VPS v3 サーバーご利用の場合は v3 サーバーサポートページを参照ください。
SPEEDEX OneDom サーバーご利用の場合は OneDom サーバーサポートページを参照ください。
|
Namazuは、あらかじめ作成したインデックスファイルを参照することにより、膨大なデータを短時間で検索することができます。インデックスの作成には、mknmzというPerlスクリプトを使用します。
●mknmzの使用方法
telnetでサーバーに接続し、以下のコマンドを入力します。
% setenv LANG ja
namamzurcでは、環境変数LANGの設定を行いました。しかし、mknmzにおいては、この設定が引き継がれません。コマンドラインでLANGを日本語(ja)に設定することで、日本語を対象としたインデックスを作成することが可能になります。
注:以降のコマンド実行時、telnet上で文字化けが発生した場合は、telnetのターミナル基本設定で、漢字コードセットを日本語EUCに変更してください。
|
% mknmz (オプション) 対象ファイルのパス(複数指定可能)
ディフォルトでは、インデックスはカレントディレクトリ(現在いるディレクトリ)に作られます。出力先を変更したい場合は -O (ゼロ)オプションを使用します。 以下に使用例を示します。
% mknmz -O /usr/home/******/usr/local/var/namazu/index/JFdocs /foo/bar/JFdocs /usr/man
この例では、/usr/home/******/usr/local/var/namazu/index/JFdocsディレクトリに、/foo/bar/JFdocsおよび/usr/manディレクトリ以下のすべてのディレクトリに含まれる対象ファイル(ディフォルトではtxt,html,htm,phtml,shtml,html.ja等)について、インデックスを作成します。namazu.cgi実行時に、Indexで指定したディレクトリのインデックスファイルを読み込むことから、インデックスを作成するディレクトリは.namazurcで設定したIndexと同じディレクトリにします。
注:ご使用のサーバーはバーチャルサーバーです。mknmzコマンド実行時に対象ファイルパスを指定しますが、以下の例を参考にしてください。
% mknmz ~/usr/local/etc/httpd/htdocs/tools
% mknmz /usr/home/******/usr/local/etc/httpd/htdocs/tools
(******はサーバーのログインid)
上の例ではどちらも、/usr/local/etc/httpd/htdocs/tools中のファイルを対象として、カレントディレクトリにインデックスを作成します。
|
なお、オプションの一覧は、NamazuHP
http://www.namazu.org/doc/manual.html#mknmz-option に詳述されています。
●mknmzの設定方法
mknmzの設定は、設定ファイル.mknmzrcで行います。これは、以下のディレクトリに用意されています。
~/usr/local/etc/namazu
上記ディレクトリーに存在するmknmzrc-sampleファイルを、.mknmzrcという名前で、
ホームディレクトリ
~/ = /usr/home/******/
にコピーしてください。
.mknmzrcでは、対象とするファイルや、対象から外すファイルのファイル名・属性などを設定します。ファイル名の指定には正規表現が使われています。設定は、"定義名=値"という書式で行います。
#で始まる行はコメントです。mknmzrc-sampleをコピーした状態では、全ての設定値がコメントの状態になっています。下の設定値一覧を参照して、設定値の行頭の#を削除してください。
また、NamazuHP
http://www.namazu.org/doc/manual.html#mknmzrc
も参照してください。
.mknmzrc設定値一覧
$ADDRESS |
管理者のメールアドレス |
$HTML_SUFFIX |
HTMLファイル |
$ALLOW_FILE |
対象とするファイル |
$DENY_FILE |
対象外とするファイル |
$EXCLUDE_PATH |
対象外とするディレクトリ |
$DIRECTORY_INDEX |
省略するファイル名
※Apache の DirectoryIndex と同じような動きをする |
$REMAIN_HEADER |
検索可能にするヘッダ
(メール/ニュース用) |
$SEARCH_FIELD |
検索可能にするフィールド |
$FILE_SIZE_MAX |
インデックス作成対象とするファイルの最大サイズ ※WordのファイルやPDFファイルなど、大きなファイルと扱う場合に設定 |
$TEXT_SIZE_MAX |
インデックス作成対象とするテキストファイルの最大サイズ |
$WORD_LENG_MAX |
単語の最大長 |
% Weight |
HTMLエレメントの重み付け |
$NKF |
nkfの起動方法(パスとオプション) |
$KAKASI |
KAKASIの起動方法 |
$CHASEN |
ChaSenの起動方法 |
$CHASEN_NOUN |
-mオプション(名詞のみ)指定時のChaSenのパスとオプション |
$WAKATI |
わかち書きに使用するツール |
$LIBDIR |
Perlライブラリのディレクトリ |
$FILTERDIR |
フィルターのディレクトリ |
$TEMPLATEDIR |
テンプレートのディレクトリ
※HTMLで検索結果や使い方を表示するときに使用する |
注:上のフォルダに.mknmzrcが見当たらない場合、mknmz起動時に読み込まれる設定ファイルを、検索することができます。telnetでご使用のサーバに接続し、% mknmz -Cと入力してください。
【出力結果例】
% mknmz -C
読み込んだ設定ファイル: /usr/home/******/.mknmzrc
システム: freebsd
Namazu: 2.0.5
Perl: 5.00503
NKF: module_nkf
KAKASI: /usr/home/******/usr/local/bin/kakasi -ieuc -oeuc -w
茶筌: /usr/home/******/usr/local/bin/chasen -j -F '% m '
わかち書き: /usr/home/******/usr/local/bin/kakasi -ieuc -oeuc -w
言語: ja
文字コード: euc
CONFDIR: /usr/home/******/usr/local/etc/namazu
LIBDIR: /usr/home/******/usr/local/share/namazu/pl
FILTERDIR: /usr/home/******/usr/local/share/namazu/filter
TEMPLATEDIR: /usr/home/******/usr/local/share/namazu/template
対応メディアタイプ:
application/x-compress
application/x-gzip
message/news
message/rfc822
text/hnf
text/html
text/html; x-type=mhonarc
text/plain
text/plain; x-type=rfc
text/x-roff
|
.mknmzrc の設定項目の説明は mknmzrc-sample ファイルにコメントとして書かれています。これをコピーし、内容を変更して、ルートディレクトリに.mknmzrcという名前で保存してください。また、NamazuHP
http://www.namazu.org/doc/manual.html#mknmzrc も参照してください。
●mknmzを行うと"Out of Memory"と表示される
このバーチャルサーバ上で、インデックスを作成しようとすると、しばしば"Out of Memory"というメッセージが出ることがあります。これは、インデックスの作成に必要なメモリが不足していることを意味しています。特に、膨大な量のインデックスを作成しようとするときに、このエラーが発生します。これを回避するにはいくつかの方法があり、これらを併用することも可能です。
.mknmzrc中のパラメーターを変更する
大きなファイルを処理していると Out of memory! が発生することがあります。 この場合は設定ファイル .mknmzrc の中の $FILE_SIZE_MAX の値を下げると解決するかもしれません。たくさんのファイルを処理していると同じように Out of memory! が発生することがあります。この場合は設定ファイル .mknmzrc の中の $ON_MEMORY_MAX の値を下げると解決します。
設定例(.mknmzrc)
$ON_MEMORY_MAX = 2500000;
$FILE_SIZE_MAX = 1000000;
$TEXT_SIZE_MAX = 300000;
※上の値は設定の一例です。この値にしなくても、mknmzは作動します。
オプションを使用する
mknmz時において、-sオプションあるいは --checkpoint オプションを使用すると、定期的にmknmz自身を起動しなおすことにより、プロセスの膨張を防ぐことができます。
-sオプション使用例
% smknmz -s ~/usr/local/etc/httpd/htdocs/tools
上の例では、~/usr/local/etc/httpd/htdocs/toolsのインデックスを、-sオプションを使用して、カレントディレクトリに作成しています。
Namazuの概要
インストール
NamazuをCGIで使用する
SPEEDEX サポートポリシー
Copyright @ Cyber Vision Hosting Co., Ltd. All rights reserved.
株式会社サイバービジョンホスティング提供サービス一覧
再販売用レンタルサーバーのSPEEDEX | VPS(仮想専用サーバー) | 共用サーバー | 独自ドメイン取得・運用 | SSLサーバー証明書 | ワイルドカードサーバー証明書 | SEO | Google Apps(TM) | クリエイティブワークの検索エンジン
|