kimikage (0.0.2) | 2008-01-09 14:17 |
suzuran (0.6.0) | 2008-07-31 12:03 |
本スクリプトは,Ruby 本体のライセンスにしたがって利用することができます。
http://www.ruby-lang.org/ja/LICENSE.txt
Hyper Estraier を使った検索用 CGI です。
P2Pモードと関連語検索を使いたい人向けです。
検索性能は本家に付属の CGI のほうが高いので、P2Pモードを使わない人は 本家 CGI をおすすめします。
管理用ツール kimikage はまだ作成していません。
※このバージョンでしか動作確認していませんが、相性問題が発見されていたり バージョン特有の機能を使っているわけではありません。
省略。
省略。
cd /usr/local/src wget http://qdbm.sourceforge.net/qdbm-1.8.75.tar.gz tar -xvzf qdbm-1.8.75.tar.gz cd qdbm-1.8.75 ./configure --enable-zlib make make install cd ruby ./configure make make install
/etc/ld.so.conf に /usr/local/lib を追加します。その後 ldconfig コマンドを実行します。
ldconfig
apt-get install mecab mecab-devel mecab-ipadic※VineLinux の場合です。
cd /usr/local/src wget http://hyperestraier.sourceforge.net/hyperestraier-1.4.10.tar.gz tar -xvzf hyperestraier-1.4.10.tar.gz cd hyperestraier-1.4.10 ./configure --enable-mecab make make install cd rubynative ./configure make make install cd ../rubypure/ ./configure make make install
※rubynative はいまのところ使っていません。
Hyper Estraier を P2P モードで起動させます。
本家ドキュメントをみてがんばってください。
http://hyperestraier.sourceforge.net/nguide-ja.html
以下は、データ置場を /usr/local/hyper_estraier/casket にする場合の一例です。
mkdir -p /usr/local/hyper_estraier/casket
estmaster init /usr/local/hyper_estraier/casket
※hyperestraierd スクリプトは suzuran の管理ツール kimikage に含まれています。
/etc/init.d/hyperestraierd startコマンドで起動させる場合は
estmaster start -bg /usr/local/hyper_estraier/casketちなみに止めるのは
/etc/init.d/hyperestraierd stopです。
デフォルトのユーザ名は admin パスワードも admin です。
ユーザを追加します。
name, passwd, flags を入力します。flags は s にします。
hogesan, pass, s
name, label を入力します。
hogefuga, hogefuga
tips の「初期導入の効率化」が参考になります。
http://hyperestraier.sourceforge.net/nguide-ja.html#tips
cron での追加文書の登録も同じコマンドでできます。
ユーザ名、パスワード、ノード名は ブラウザで設定したものです。
登録中に http://example.com:1978/master_ui を見るとインデックスに 追加されてく様子が確認できます。
24時間以内に更新された HTML ファイルを追加するの場合の一例です。
一度 Hyper Estraier を止めます。
/etc/init.d/hyperestraierd stopキーワード DB を作成します。作りなおしは -fc オプションをつけます。
形態素解析器を使う場合は、-um オプションをつけます。
estcmd extkeys -um /usr/local/hyper_estraier/casket/_node/hogefugaサーバをデーモンモードで開始します
/etc/init.d/hyperestraierd start
これで CGI が動くはず…です。
suzuran.tar.gz を展開してできたディレクトリを Web サーバから見えるとこにおきます。
tar -xvzf suzuran.tar.gz
suzuran.conf を環境にあわせて編集します。
# suzuran 設定ファイル # ホームページ HOMEPAGE = "http://example.com/"ホームページへ戻るリンクの移動先です。
# Hyper Estraier ノード URL NODE_URL = "http://localhost:1978/node/hogefuga"
hogefuga の部分は Web で設定したものに書き換えてください。
# HTMLコンテンツディレクトリ PUBLIC_HTML = "/home/hogefuga/public_html/"
インデックス作成時に指定した HTML のディレクトリです。
Hyper Estraier 内ではディレクトリ名で保存されているので URLへの置換用に使っています。
# 関連語辞書 RELWORDS_DB = "relwords.qdb"
関連語DBのファイル名です。後ほど作成します。
index.rb と違うディレクトリに配置する場合は、ディレクトリ名も指定します。
# 関連語表示上限数 RELWORDS_MAX = 5
関連語表示数の上限です。
# 1ページの表示数 LIST = 10
検索結果の表示数のデフォルト値です。最大値は 100 です。
# 表示順のデフォルト #SORT_TYPE_DEFAULT = "[SCA]" # スコア順 SORT_TYPE_DEFAULT = "@mdate NUMD" # 日付(新しい順)
検索結果の表示順のデフォルトです。
# フォームラジオボタンラベル RADIO = ["サイト全体から検索", "ほげふがから検索"] # ラジオボタン選択時の検索オプション SEARCH_OPTION = ["", "@uri STRINC hogefuga"]
検索条件のラジオボタン表示用です。
デフォルトでは、全体から検索と、URL に hogefuga の文字が 含まれるもの、の2つが設定されています。
# 検索結果見出し SEARCH_HEADER_TITLE = "ほげふがサイト内検索"
タイトルです。
# フッター HTML_FOOTER = <<-_HTML <div id="footerLink"> <a href="#{HOMEPAGE}">TOP</a> - </div> _HTML
フッターです。特に制限はありません。
estcmd words -nl -kt /usr/local/hyper_estraier/casket/_node/hogefuga > hoge.tsv cat hoge.tsv | vltsv import relwords.qdb
relwords.qdb を suzuran/suzuran/index.rb と同じディレクトリにコピーします。
ブラウザから閲覧すると動くはず・・・動くといいな。
Project suzuran