{{{ #!html
Tracからリポジトリの中を検索するためのプラグインを 作りました。 全文検索にはNamazuを使用しています。
仕組み:バッチでリポジトリをエクスポートし、Namazuのインデックスを生成します。Trac内でコマンド版namazuを実行し、その結果を表示します。
制限に書いていますが、Tracのmod_python版でしか動作しません。CGI版ではエラーになります。 また、過去のリポジトリは検索できません。そんなこんなでバージョンは0.1です。
[[Image(20060501002.png)]]
[[VisitCounter(TracDoc/SearchNamazuPlugin)]]
確認済み環境
Windows 2000Pro | |
apache 2.0.54 | |
Trac-0.92-ja | |
Hyper Estraier 1.1.2 | インストール方法は「使うためには」を参照 |
制限
zipを解凍してください。
解凍して出来たフォルダ配下のsrcディレクトリに移動してください。
以下のコマンドを実行して下さい:
$ python setup.py bdist_egg
distフォルダが作成されます。
その中にある*.eggファイルを、TracEnvのplugins ディレクトリにコピーしてください。
http://www.activestate.com/ 右上のメニューからPerlを選択し、Standard Distrivutionをダウンロード。メールアドレスとかきかれるが、未入力でも問題なし。 ActivePerl-5.8.7.815-MSWin32-x86-211909.msiを起動してPerl 5.8をインストール。
http://kakasi.namazu.org/index.html.ja Win32用 バイナリパッケージ(kakasi-2.3.4.zip)をダウンロード解凍してできたkakasiフォルダをC:\に配置。 README-ja.win32を読みながら環境変数(PATH,KANWADICTPATH,ITAIJIDICTPATH)を設定。
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を読んで動作確認。
ポジトリのエクスポートとインデックス生成を行うバッチを作成します。 makeindex.batを適切に書き換えてください。冒頭部の環境変数を書き換えてください。
なお、リポジトリのエクスポートの認証は考慮してません。認証が必要であれば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と 表示されるようにしてください。
例:
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のタスクを 設定してください。
テキストファイルで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
検索タブをクリックして、「リポジトリ」チェックボックスが表示されることを確認してください。
適当なキーワードで検索して、結果(source:××)が表示されることを確認してください。
リンクをクリックして、画面がリポジトリブラウザに切り替わり、 正しくそのファイルを表示していることを確認してください。