人気コンテンツ今日: |
Hyper Estraierを設定する(全文検索システム) | SolarisSubmitted by sasaki on 水曜, 2007-06-20 15:03.
■インデックスを作るWebサイトのインデックスを作る。検索エンジンは、このインデックスを参照して検索結果を表示する。 作るインデックス: /export/home/www/www_index 対象ファイル: /export/home/www/public_html/* $ cd /export/home/www/ これで、public_html以下のhtmlファイルが収集されて、www_indexという名前のインデックスが出来上がり。 フルパスを後で、estseek.confで指定するのでメモしておく。 使用コマンド: /usr/local/bin/estcmd -il ja オプション: 日本語を優先するという意味。 -sd オプション: ファイルの作成日時と更新日時を記録するという意味。 インデックスのフルパス: /export/home/www/www_index
■CGIスクリプトを設置するcgi-binに、バイナリ、設定ファイル、テンプレート、初期画面メッセージをコピーして置く。 $ cd /export/home/www/cgi-bin
estseek.cgi 検索用CGIスクリプト estseek.conf 設定ファイル estseek.tmpl 検索ページのテンプレート estseek.top 検索ページの初期画面のメッセージ
■estseek.confを設定するviで、estseek.conf内の2行を編集する。 /export/home/www/cgi-bin/estseek.conf indexname: /export/home/www/www_index indexname さきほど作ったインデックスをフルパスで指定する。 /export/home/www/www_index
replace Apacheのhtmlディレクトリを指定する。 置き換え対象文字列: /export/home/www/public_html/ 置き換え後文字列: http://www.mydomain.com/
注意: htmlディレクトリが、/export/home/htdocs/ だとする。 シンボリックリンクで、/home/htdocs/ を作っていたとする。 この場合、シンボリックリンクを記述せず、きちんと /export/home/htdocs/ と書くこと。
■ブラウザでアクセスするブラウザでアクセスしてみる。 http://mydomain/cgi-bin/estseek.cgi ところが、 500 Internal Server Error というありがたくないメッセージが表示されてしまった。
■Hyper Estraierで500 Internal Server Errorが出たときの対処LD_LIBRARY_PATHを疑ってみたところビンゴでした。 crleコマンドで基本的なライブラリパスを指定したところ、estseek.cgiが稼働を始めたのでめでたし、めでたし。(apacheを再起動する必要はなかった) Solarisのライブラリパス(LD_LIBRARY_PATH)
このエラーの他の対処方法として、HyperEstraierのconfigure時に--enable-staticオプションを付けてうまくいったという記事がありました。(試してないけど...)
■Hyper Estraierのヘルプ画面を日本語化する日本語化されたファイルに置き換える。 $ cd /export/home/www/cgi-bin estseek.confも置き換えたら、設定をもう一度行っておくことを忘れずに。
■検索フォームを設置するすでに設置してあるindex.html内に検索フォームを埋め込んだ。 Shift_JISで作ってあるページなので、そのように指定した。 <form action="http://mydomain/cgi-bin/estseek.cgi" method="get"> encの指定は、 UTF-8, EUC-JP, Shift_JIS, ISO-2022-JP, ISO-8859-1等が使える。
■crontabで毎晩インデックスを更新する毎晩インデックスを更新し、一週間に一度、日曜日の夜にpurgeする。 10 22 * * * /usr/local/bin/estcmd gather -cl -il ja -sd -cm /export/home/www/www_index /export/home/www/public_html
gather ファイルシステムを探索して文書を登録する。 -cl 削除された文書が含んでいた語句のインデックスを再構築する。 -il ja 日本語を優先するという意味。 -sd ファイルの作成日時と更新日時を記録するという意味。 -cm まだインデックス内に存在していないか、前に登録したときより更新時刻が新しい文書のみを登録する。 purge インデックス内に存在して、ファイルシステム上に存在しない文書の情報を削除する。 purgeは、比較的重い処理なので、週に一度で十分。企業利用だと毎日の方がよい場合もあるので、環境にあわせる。
|
Solarisamazon広告英語お勧め教材! 英語の学校でも使っているのですが、1つのストーリーを3分で読めて、内容も面白く、もっと早く出会いたかった本です。 Apple好きで英語も勉強したいならこの一冊! |