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 * 直接メール