SKIP1.1.0で全文検索を有効にする手順です。[CentOS5.3]
(SKIP1.1.0でも同じ手順で動作したので正式版に修正しました)
SKIPとHyperEstraierのインストールは前述の通り済んでいる前提です。
できるだけSKIPのデフォルトの設定を利用します。
この設定を行う前にユーザと記事をいくつか登録しておくことをオススメします。
SKIPの本番稼働用のlighttpdを設定する
lighttpdのインストール
# yum install fcgi fcgi-devel lighttpd lighttpd-fastcgi pcre-devel
# gem install fcgi
lighttpd起動の前に走っているrailsプロセスがあれば終了する
# ps aux | grep production
root 13683 0.0 2.8 62012 57360 pts/0 S Apr24 0:06 ruby ./script/server -e production
# kill -9 13683
現在パスを確認して/var/skip_rootで運用するよう変更
# pwd
/home/user/download/skip-1.1.0
# cd ../
# mv /home/user/download/skip-1.1.0 /var/skip_root
# cd /var/skip_root
lighttpdを起動する(config/lighttpd.confをそのまま利用できます)
# ruby script/server lighttpd &
検索キャッシュの設定追加
initial_settings.ymlの設定をそのまま利用します
※ただし後からcron登録することを考えてフルパスに修正しておきます。
share_file_path: /var/skip_root/tmp/share_file_path
cache_path: /var/skip_root/tmp/app_cache
# mkdir tmp/app_cache
# mkdir tmp/app_cache_meta
# ruby lib/batch_make_cache.rb -all
※記事やファイルを予め作成しておきましょう
batch.logを確認
# less log/batch.log
app_cacheとapp_cache_meta以下にentryとuserが出来ていればOK
# ls tmp/app_cache
# ls tmp/app_cache_meta
添付ファイル検索におけるlighttpdの仕様上の問題を修正する
share_file_pathの生成を確認
# ls public/tmp/share_file_path
# rm -f tmp/app_cache/share_file
# cd tmp/app_cache
# ln -s ../../public/tmp/share_file_path share_file
HyperEstraierのノードインデックスを作成(/var/est/skipとします)
# mkdir /var/est
# mkdir /var/est/skip
# estmaster init /var/est/skip
ノードマスターをバックグラウンドで起動
# estmaster start -bg /var/est/skip
http://localhost:1978/ で起動していることを確認
インデックスを作成
# estcall raw -auth admin admin ‘http://localhost:1978/master?action=nodeadd&name=node1&label=NODE01’
OKと返ってくればOK
クローラの設定(/var/est/skip_crawlとします)
# mkdir /var/est/skip_crawl
# estwaver init /var/est/skip_crawl
# vi /var/est/skip_crawl/_conf
confファイルを以下のように編集します
キャッシュのURLを指定する
seed: 1.0|http://localhost:3000/cache/
許可するURLを指定する
allowrx: ^http://localhost:3000/cache/
拒否するURLから pdf,doc,xls,pptを取り除く
denyrx: ¥.(rtf|pdf|ps|eps|ai|doc|xls|ppt|sxw|sxc|sxi|xdw|jtd|oas|swf)$
↓ ↓
denyrx: ¥.(rtf|ps|eps|ai|sxw|sxc|sxi|xdw|jtd|oas|swf)$
インデックに登録しないURLを指定する(ディレクトリはインデックスに登録しない)
noidxrx: cache/.*/$
PDF, officeの変換ツールの設定を入れる
typerule: ^application/pdf${{!}}H@/usr/local/share/hyperestraier/filter/estfxpdftohtml
typerule: ^(application/msword|application/vnd.ms-(excel|powerpoint))${{!}}H@/usr/local/share/hyperestraier/filter/estfxmsotohtml
言語を日本語に設定する
language: 1
revisit: で再度URLを訪れるまでの期間を1日に設定する
revisit: 1d
nodeserv: で登録するノードサーバを設定する
nodeserv: 1|http://admin:admin@localhost:1978/node/node1
クロールの動作確認
# estwaver crawl -revcont /var/est/skip_crawl
finished successfullyと出ればOK
検索機能を有効にするためSKIPの設定を編集します
# vi config/initial_settings.yml
full_text_search_setting: true
meta: /var/skip_root/tmp/app_cache_meta
lighttpdの再起動
# kill `cat tmp/pids/lighttpd.pid`
# ruby script/server lighttpd &
これで検索窓が表示され、登録された記事などがあれば検索することができます。
記事や添付ファイル登録して確認する際には以下のコマンドを使用する
# estwaver crawl -restart /var/est/skip_crawl
もしくは
# vi /var/est/skip_crawl/_conf
revisit: で再度URLを訪れるまでの期間を1秒に設定する
revisit: 1s
no comment untill now