Show page source of FrontPage #2845

== 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