estraier-search README
===================
Hyper Estraier を用いた tDiary
検索環境です。
特徴
----------
日記の更新と連動して自動的にインデックスを更新するので、いつでも最新の
情報で検索することができます。日記を HTML 化した後に必要な部分だけを取
り出してインデックスを作成するので、ヘッダやフッタなどによる検索ノイズ
がなく、また、プラグインの出力が検索対象になるという特徴があります。
必要なもの
----------
* tDiary 1.5 以降
* Ruby 1.8.2 以降
* Hyper Estraier 1.4 以降
(ピュアRubyインターフェイス estraierpure.rb も必要です)
セットアップ
------------
1. estraier-register.rb を tDiary の プラグインディレクトリにコピーします。
2. estraier-search.rb を tDiary の index.rb があるディレクトリにコピー
します。必要なら index.rb と同じようにシンボリックリンクを張ったり
名前を変えたりしてください。
3. CGI として実行可能にします。
$ chmod a+x estraier-search.rb
4. 必要なら #! のパスを変更します。
5. estraier.rhtml と estraier.rxml と i.estraier.rhtml を tDiary の
skel/ ディレクトリにコピーします。
6. Hyper Estraier のノードマスタをセットアップします。その際、設定ファ
イル(ノードマスタのrootdirの下の_conf)に、以下を追加してください。
attrindex: @uri{{!}}str
この設定がないと、登録エントリが増えた際に、著しくパフォーマンスが
低下します。
7. ノードマスタから、tDiary用のノードサーバを作成し、その接続情報を
tdiary.conf に記述します。デフォルトでは、以下のように記述したのと
同じ設定です。
@options["estraier.host"] = "localhost"
@options["estraier.port"] = 1978
@options["estraier.path"] = "/node/"
@options["estraier.node"] = "tdiary"
@options["estraier.name"] = "admin"
@options["estraier.password"] = "admin"
8. estraier-register.rb プラグインを有効にします。(tDiary の plugin/
ディレクトリにコピーするか、プラグイン選択のディレクトリにコピーし
てブラウザから有効に設定します。言語リソースファイルの
en/estraier-register.rb と ja/estraier-register.rb も、プラグインディ
レクトリの en/ 以下およびja/ 以下にコピーしてください。)
9. 既存の日記コンテンツに対して検索インデックスを作成します。tDiary の
設定画面から「Estraier検索」を選び、「Estraier検索のインデックスを
再構築する場合は、チェックボックスをチェックしてOKを押してください」
というメッセージに従ってチェックしてOKを押すと、
インデックスの作成は、tDiary の CGI の実行権限で以下のように実行する
ことでも可能です。
ruby estraier-register.rb [-p tdiary.rbのあるディレクトリ] [-c tdiary.confのあるディレクトリ]
10. 自分の tDiary の好きな場所 (例えばヘッダ) に以下のようなフォームを加
えてください。
search-form.rb プラグインを有効にしている場合は、以下のように書くこ
ともできます。
<%= search_form("estraier-search.rb", "query") %>
以上です。
検索のしかた
------------
estraier-search の検索対象は、日記本文、ツッコミ、TrackBack です。
検索方法については、
http://hyperestraier.sourceforge.net/uguide-ja.html#searchcond をご覧
ください。検索条件の書式を指定していない場合は、「簡便書式」で検索を行
います。
連絡先
------
かずひこ
http://www.fdiary.net/
バグ報告は以下のどこかにお願いします。
* tdiary-devel ML
* 直接メール