== suzuran README
== ライセンス
本スクリプトは,Ruby 本体のライセンスにしたがって利用することができます。
http://www.ruby-lang.org/ja/LICENSE.txt
== なにか?
Hyper Estraier を使った検索用 CGI です。
P2Pモードを使いたい人向けです。
検索性能は本家に付属の CGI のほうが高いので、P2Pモードを使わない人は
本家 CGI をおすすめします。
== 必要な環境
* Apache 2.2.4 ※1
* Ruby 1.8.5 ※1
* Hyper Estraier 1.4.10.
※このバージョンでしか動作確認していませんが、相性問題が発見されていたり
バージョン固有の機能を使っているわけではありません。
== サーバソフトのインストール
Apache, Ruby, Hyper Estraier をそれぞれインストールします。
== Hyper Estraier の設定
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
}}}
=== サーバをデーモンモードで開始します
{{{
/etc/init.d/hyperestraierd start
}}}
コマンドで起動させる場合は
{{{
estmaster start -bg /usr/local/hyper_estraier/casket
}}}
ちなみに止めるのは
{{{
/etc/init.d/hyperestraierd stop
}}}
です。
=== ブラウザで http://example.com:1978/master_ui を開きます
デフォルトのユーザ名は admin パスワードも admin です。
=== 「Manage Users」をクリックします
ユーザを追加します。
name, passwd, flags を入力します。flags は s にします。
hogesan, pass, s
=== ユーザ admin は消しておきます
=== 「Manage Nodes」をクリックします
name, label を入力します。
hogefuga, hogefuga
=== Hyper Estraier に文書を登録します
tips の「初期導入の効率化」が参考になります。
http://hyperestraier.sourceforge.net/nguide-ja.html#tips
cron での追加文書の登録も無駄はありますが同じコマンドでできます。
ユーザ名、パスワード、ノード名は ブラウザで設定したものです。
{{{
#!/bin/bash
find /HTML がおいてあるディレクトリ/ -type f -name '*.html' |
while read file ; do
estcmd draft -fh -il ja "$file" |
estcall put -auth ユーザ名 パスワード http://localhost:1978/node/ノード名
done
}}}
24時間以内に更新された HTML ファイルを追加するの場合の一例です。
{{{
#!/bin/bash
find /HTML がおいてあるディレクトリ/ -type f -name '*.html' -mmin -3600 |
while read file ; do
estcmd draft -fh -il ja "$file" |
estcall put -auth ユーザ名 パスワード http://localhost:1978/node/ノード名
done
}}}
=== 類似検索用の DB を作成します
一度 Hyper Estraier を止めます。
{{{
/etc/init.d/hyperestraierd stop
}}}
検索用 DB を作成します。
{{{
estcmd extkeys /usr/local/hyper_estraier/casket/_node/hogefuga
}}}
サーバをデーモンモードで開始します
{{{
/etc/init.d/hyperestraierd start
}}}
=== おわり
これで CGI が動くはず…です。
== suzuran のインストール
=== 展開します
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への置換用に使っています。
{{{
# 1ページの表示数
LIST = 10
}}}
検索結果の表示数のデフォルト値です。最大値は 100 です。
{{{
# 表示順のデフォルト
#SORT_TYPE_DEFAULT = "[SCA]" # スコア順
SORT_TYPE_DEFAULT = "@mdate NUMD" # 日付(新しい順)
}}}
検索結果の表示順のデフォルトです。
* "@mdate NUMD" # 日付 (新しい順)
* "@mdate NUMA" # 日付 (古い順)
* "@title STRA" # 題名 (昇順)
* "@title STRD" # 題名 (降順)
* "@size NUMA" # 文書の長さ (短い順)
* "@size NUMD" # 文書の長さ (長い順)
* "@uri STRA" # ホームページアドレス (昇順)
* "@uri STRD" # ホームページアドレス (降順)
{{{
# フォームラジオボタンラベル
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
}}}
フッターです。特に制限はありません。
=== ブラウザから閲覧
動くはず・・・動くといいな。
== 作者
Project suzuran