= リポジトリの全文検索 with Namazu プラグイン Ver 0.1 = == 1. 概要 == Tracからリポジトリの中を検索するためのプラグインを 作りました。 全文検索にはNamazuを使用しています。 仕組み:バッチでリポジトリをエクスポートし、Namazuのインデックスを生成します。Trac内でコマンド版namazuを実行し、その結果を表示します。 制限に書いていますが、Tracのmod_python版でしか動作しません。CGI版ではエラーになります。 また、過去のリポジトリは検索できません。そんなこんなでバージョンは0.1です。 [[Image(20060501002.png)]] '''確認済み環境''' ||Windows 2000Pro|||| ||apache 2.0.54|||| ||Trac-0.92-ja|||| ||Hyper Estraier 1.1.2||インストール方法は「使うためには」を参照|| '''制限''' * mod_python版でしか動作しません。CGI版で動作しないことを確認しています。 * リポジトリ内の最新のファイルしか検索できません。 * Windowsでしか動作確認してません。でもWindows固有の実装はしてないのでUnix系でも動くかも。 * apacheからnamazu.exeを起動できるように権限設定が必要かもしれません。 * もちろん動作は無保証です。コメントに何か書いてくれれば反応はするかもしれません。 == 3. セットアップ == === 3.1 ダウンロード === 停止 === 3.2 インストール === SearchNamazuPluginのインストールを行います。[[FootNote(Tracのプラグインに共通する説明は、[wiki:TracPlugins TracPlugins]を参照してください。)]][[BR]] ==== (1) eggの設置 ==== zipを解凍してください。[[BR]]解凍して出来たフォルダ配下のsrcディレクトリに移動してください。[[BR]]以下のコマンドを実行して下さい: {{{ $ python setup.py bdist_egg }}} distフォルダが作成されます。[[BR]]その中にある*.eggファイルを、TracEnvのplugins ディレクトリにコピーしてください。[[BR]] === 3.3 Namazuをセットアップする === Namazuをインストールして動くようにしてください。以下の手順で私はできました。できないひとは自分で調べてね。 ==== (1) !ActivePerl 5.8.7.815をインストール ==== http://www.activestate.com/ 右上のメニューからPerlを選択し、Standard Distrivutionをダウンロード。メールアドレスとかきかれるが、未入力でも問題なし。 ActivePerl-5.8.7.815-MSWin32-x86-211909.msiを起動してPerl 5.8をインストール。 ==== (2) kakasiをインストール ==== http://kakasi.namazu.org/index.html.ja Win32用 バイナリパッケージ(kakasi-2.3.4.zip)をダウンロード解凍してできたkakasiフォルダをC:\に配置。 README-ja.win32を読みながら環境変数(PATH,KANWADICTPATH,ITAIJIDICTPATH)を設定。 ==== (3) namazuをインストール ==== http://www.namazu.org/windows/index.html.ja http://www.namazu.org/pipermail/namazu-win32-users-ja/2004-December/000143.html nmz2014beta-1.exe をダウンロードし、インストール。セットアップフォルダをC:\namazuにし、あとはすべてデフォルト値。インストール後に表示されるREADME-ja.txtを読んで動作確認。[[BR]] === 3.4. テンプレートファイルを置く === NMZ.result.totrac をnamazuのテンプレートフォルダ(namazuのデフォルトでは C:\namazu\share\namazu\template)に置いてください。次節でmakeindex.batを実行した後に、インデックス生 成フォルダ内に NMZ.result.totracが存在していればOKです。[[BR]] === 3.5.インデックスの設定をする === {{{ }}} ポジトリのエクスポートとインデックス生成を行うバッチを作成します。 makeindex.batを適切に書き換えてください。冒頭部の環境変数を書き換えてください。[[BR]]なお、リポジトリのエクスポートの認証は考慮してません。認証が必要であればsvn exportに適切な引数を設定してください。 {{{ }}} {{{ }}} ||EXPORT_FOLDER||リポジトリのエクスポート先となるフォルダ。空のフォルダを指定。|| ||REPOS_URI||エクスポート元となるリポジトリのURI|| ||INDEX_FOLDER||インデックスの生成先フォルダ。空のフォルダを指定。|| ||REPLACE_BEFORE||検索結果として使うURIの置換元文字列|| ||REPLACE_AFTER||検索結果として使うURIの置換文字列|| {{{ }}} makeindex.batを実行した後で、 以下のコマンドを実行して、正しく検索されることを確認してください。 {{{ }}} {{{ namazu -q -r --result=totrac [query] [index_path] }}} {{{ }}} [query]には適当に結果が出るキーワード、[index_path]にはmakeindex.batで 指定したINDEX_FOLDERを指定してください。 なお、登録されるURLはTracのリポジトリブラウザでRoot直下が/となるように REPLACE_BEFORE,REPLACE_AFTERを調整する必要があります。 たとえば、リポジトリブラウザでRoot/trunk/test3/検索のテスト.docと 表示されるファイルは、namazuで/trunk/test3/検索のテスト.docと 表示されるようにしてください。[[BR]] 例: {{{ }}} {{{ C:\>namazu -q -r --result=totrac Trac C:\namazu\var\namazu\index 日本語.txt 不明 Sun, 15 Jan 2006 21:28:48 【Trac】チケットの入力補助 InputPad 仕事でTrac使う場合、チケットの入力って結構面 倒ですよね。担当者とか日付とか、あとコメントも定型で入力する必要があったり。 そ んなわけで、チケットの入力を補助するツー /trunk/test3/フォルダ/日本語.txt C:\> }}} {{{ }}} {{{ }}} 動作確認ができたらmakeindex.batが1日1回実行できるようにWindowsのタスクを 設定してください。 {{{ }}} {{{ }}} === 3.6. trac.iniを設定する === {{{ }}} テキストファイルでtrac.ini(リポジトリのフォルダのconf配下)を開いて serachnamazuというブロックを追加してください。 {{{ }}} ||namazu_path||namazu.exeの絶対パス|| ||index_path||インデックス生成パス(makeindex.batのINDEX_FOLDER)|| {{{ }}} 例: {{{ }}} {{{ [serachnamazu] namazu_path = C:\namazu\bin\namazu.exe index_path = C:\namazu\var\namazu\index }}} {{{ }}} {{{ }}} === 3.7. Apacheを再起動する === == 4. 検索してみる。 == {{{ }}} 検索タブをクリックして、「リポジトリ」チェックボックスが表示されることを確認してください。[[BR]]適当なキーワードで検索して、結果(source:××)が表示されることを確認してください。[[BR]]リンクをクリックして、画面がリポジトリブラウザに切り替わり、 正しくそのファイルを表示していることを確認してください。 {{{ }}} == 5. ご意見・ご要望 == ご意見・ご要望は[/newticket?component=SearchNamazuPlugin こちら] から登録してください。[[BR]]これまでに登録されたものは[query:?component=SearchNamazuPlugin こちら] を参照してください。[[BR]][[BR]][[FootNote]][[BR]][[BR]]