# はじめに

DocFetcher はオープンソースのデスクトップ検索アプリケーションです。コンピュータ内のファイルの文書を（Googleの様に）検索することが出来ます。

インデックスによる検索: DocFetcher はあらかじめ検索したい場所のインデックスを作成する必要があります。それは膨大な文書の中から直接検索するのは非常に遅いため現実的では無いためです。インデックスは書籍の後ろにある索引のように、DocFetcherはキーワードで素早くファイルを見つけることが出来ます。インデックスを作成するには、インデックスを作成するファイルの数とサイズに応じて、少し時間がかかる場合があります。 しかしながらこれはフォルダごとに1回のみ行えば良く、その後は何回でもインデックスから検索することが出来ます。

インデックスの作成: インデックスを作成するには、左側にある`検索範囲`エリアの上で右クリックし、 `インデックスを作成→フォルダ`を選択します。今すぐ選択したフォルダをインデックス化してみます。 最初はあまり多くない、だいたい50程度のファイルで試すべきです。フォルダを選択した後、設定ウィンドウがポップアップ表示されます。通常はデフォルトの設定のまま、実行ボタンをクリックし、DocFetcherが文書をインデックス化し終わるまでまってください。 (インデックスを作成する別の方法は、 `検索範囲` エリアに直接ディレクトリを貼り付けることです)

検索: 結果欄（と列ヘッダーがある表）の上にある、検索するためのテキストボックスに1つ以上の単語を入力し、 `Enter` キーを押下ます。 検索した結果が結果欄に検出率順にソートされて表示されるでしょう。

もしあなたがDocFetcher内からマニュアルを読んでいるなら、次の指示を行うとマニュアルが非表示になります。再度表示するには、右上にある`'?'` ボタンをクリックして下さい。またはこの欄の上にある`外部ブラウザで開く` ボタンをクリックして既定のブラウザでマニュアルを開くことが出来ます。

結果欄とプレビュー欄: 結果欄の下（または現在のGUIレイアウトに応じてその右側）に, プレビュー欄があります。結果欄でファイルを選択すると、プレビュー欄には、ファイルの内容のテキストのみのプレビューが表示されます。 特筆すべき機能:

- ハイライト: 既定では、あなたが入力したキーワードがハイライトされ、 現在の位置から前か後に、上下ボタンを使用してジャンプすることができます。
- 組み込みwebブラウザ: HTMLファイルの場合、テキストのみのプレビューかシンプルな組み込みwebブラウザで表示するか切り替えることが出来ます。 (注: 後者は一部のLinux環境では使用できません。)

有益かもしれないショートカット: `Ctrl+F` または `Alt+F` を押すと検索ウィンドウにフォーカスが移動します。外部プログラムからファイルを開くには、結果欄でダブルクリックして下さい。

並べ替え: 結果欄の任意の列ヘッダーをクリックすると結果の並び順を変更することが出来ます。たとえば、ファイル名で並べ替えするにはヘッダーの`ファイル名`をクリックします。逆順で並べ替えるには同じヘッダーをもう一度クリックします。列の表示順を変更するには列をドラッグ＆ドロップして下さい:たとえば、 `ファイル名`を最初の列にしたいなら、`ファイル名` 列ヘッダーを左へドラッグします。

フィルタリング: GUIの左側には、結果を絞り込むための各種コントロールがあります: (1) ファイルサイズの範囲を指定する `最小 / 最大 ファイルサイズ` コントロール。 (2) `ファイル形式` の一覧はファイルの種類で結果をフィルタリングすることが出来ます。 (3) `検索範囲`エリアのチェックを外すことで、場所で結果を絞り込むことが出来ます。

インデックスの更新: インデックス化されたフォルダに、ファイルが追加、削除、変更された場合、対応するインデックスを更新しなければいけません。そうしないと結果が古くなっている可能性があります。幸いにも、インデックスの更新は、通常いちから作り直すよりも高速です。それは変更された物だけを処理するからです。また、DocFetcherは、2つの方法で自動的にインデックスを更新することができます:

1. DocFetcher 自身で: DocFetcher が起動していて、変更されたフォルダのfolder watching が有効な場合, DocFetcher は変更を検出して、すぐさまインデックスを更新します。
2. DocFetcher デーモン: DocFetcher が起動していないとき、変更は、バックグラウンドで動作する小さな常駐プログラムによって記録されています; 影響を受けたインデックスは、次回のDocFetcherの起動時に更新されます。 (注: 残念ながらデーモンは Mac OS X では現在使用できません。)

諸注意: もしportable version のDocFetcher を使用していて、デーモンを起動したいときは、デーモンの実行ファイルをオペレーションシステムのスタートアッププログラムの一覧に手動で追加する必要があります。また、DocFetcherもデーモンのいずれも共有フォルダの変化を検出することが出来ません。
なので、インデックスを自動的に更新することができないような場合には、それを自分で行う必要があるでしょう： `検索範囲`エリアで1つ以上の更新を行うインデックスを選択し、`検索範囲`のコンテキストメニューから`インデックス更新`をクリックするか、`F5` キーを押すかのいずれかを行って下さい。

# 高度な使い方

問合せ構文: DocFetcherを使うと、単純な単語での検索よりもはるかに多くのことができます。たとえば、 `wiki*` のように始まりが共通な単語を検索するにはワイルドカードを使用することができます。特定のフレーズを検索するには (すなわち特定の順番の単語の並び)、引用符でフレーズを囲みます。: `"the quick brown fox"`. しかしそれは序の口に過ぎません。サポートされている全ての構文については次を参照してください。 問合せ構文セクション.

携帯文書リポジトリ: DocFetcherのポータブル版は、あなたの文書と関連するインデックス、そしてDocFetcherをひとまとめにすることができます。そしてこれらを自由に移動することができます。 — あるオペレーションシステムから別のものにすら、すなわち、WindowsからLinuxまたはその逆へ。 ポータブル版を使用する際に覚えておくべき重要な点は、インデックスが相対パスを使用して作成されなければならないということです。 携帯文書リポジトリについて詳細な情報は こちら をクリック。 ところで、あなたがDocFetcher の1.0.3 以前を使用していたとしたら、もうDocFetcherフォルダに文書を置く必要がないことに注意してください。

インデックスの設定オプション: インデックス作成の設定ウィンドウ上のすべてのこれらのオプションの詳細な議論については、 hereをクリック。 また設定ウインドウから直接マニュアルを開くにはウィンドウの下部にある `ヘルプ` ボタンをクリックしてください。おそらくとても興味深いの設定オプションがあります:

- カスタマイズ可能なファイルの拡張子: プレーンテキストファイルやZIPアーカイブのファイルの拡張子は、完全にカスタマイズできます。 これはソースコードファイルをインデックス化するとき特に有用です。
- ファイルの除外: 正規表現を使用して特定のファイルを除外することができます。
- Mime タイプの検出: mimeタイプの検出がなければ、DocFetcherは単にそのファイルの種類を決定するために、ファイルの拡張子（例：`'.doc'`）を見ていきます。mimeタイプを検出することによって、 DocFetcherはより良い型情報を見つけることができるかどうかを確認するために、ファイルの内容を覗きます。これは、単にファイルの拡張子をチェックするよりも遅くなりますが、それは間違ったファイルの拡張子を持つファイルのために有用です。
- HTML ペアリング: デフォルトでは、DocFetcherは、HTMLファイルとその関連フォルダ(すなわち `foo.html` ファイルと `foo_files`フォルダ)を一つの文書として扱います。これの主な目的は検索結果から"ごちゃごちゃした"HTMLフォルダを取り除くためにあります。

正規表現: ファイルの除外とmimeタイプの検出の両方はいわゆる 正規表現に依存しています。 これらはDocFetcherは、ファイル名やファイルパスにマッチするユーザ定義パターンです。 たとえば、"journal"で始まる全てのファイルを除外する正規表現:`journal.*` これはDocFetcherの問合せ構文、ドットを省略した `journal*` とは若干違うことに注目してください。もし正規表現についてもっと知りたければ、 簡単な紹介を読んでください。

リリース通知: DocFetcher はアップデートを自動的にチェックすることはしていません（すべきでもない？）。もし新しいリリースの通知を希望するならば、 いくつかの方法 を設定してください。

# 注意事項と共通の落とし穴

メモリ制限を引き上げる: DocFetcherは、すべてのJavaプログラムのように、Java ヒープサイズとして知られる、どのくらいメモリが使用できるか固定された制限があります。このメモリ制限は 起動時に設定する必要があり、DocFetcher は現在256 MBのデフォルト値が選択されています。もしあなたがとても沢山のファイルをインデックス化しようとした場合や、インデックス化されたファイルがとても巨大（これはPDFファイルでは珍しいことではありません)ならば、DocFetcherはメモリ上限に達してしまうでしょう。もしこれが発生した場合はこれが必要になります メモリ上限を引き上げる。

システムフォルダのインデックスを行いません: 他のデスクトップ検索アプリケーションとは対照的に、 DocFetcher は`C:`や `C:\Windows`のようなシステムフォルダのインデックス化のために設計されていませんでした。 それは、次の理由のため推奨されていません:

1. スローダウン: システムフォルダ内のファイルは、非常に頻繁に変更される傾向があります。 もしこのフォルダの監視をオンにした場合は、DocFetcherが全ての時間でインデックスを更新するため、コンピュータが遅くなる原因となります。
2. メモリの問題: DocFetcher はメモリ内にファイルを小さく表現する必要があります。このため、システムフォルダは通常、非常に多数のファイルが含まれているため、DocFetcherはシステムフォルダのインデックス化でメモリ不足が発生する可能性が高くなります。
3. リソースの浪費、検索結果の悪化: これらの技術的な理由とは別に、システムフォルダをインデックス化することは、インデックス作成時間とディスクスペースの無駄が発生する可能性が高いです。 それはまた、不要なシステムファイルで、検索結果を汚染します。 だから、最短の時間で最高の結果を得るため、インデックスは必要最低限にしてください。

ユニコード対応: DocFetcher はCHMファイルを除くすべての文書形式で、すべてのユニコードにフル対応しています。プレーン・テキストの場合、DocFetcher は正しいエンコーディングを推測するために、特定のヒューリスティック を使用する必要があります。 プレーン・テキスト・ファイルは、明示的なエンコード情報を含んでいないからです。

CHM ファイル: CHM はMac OS X と 64-bit Javaではサポートされていません. これはWindowsとLinuxで使用すると、CHMファイルのサポートを取得するためには、64-bit Javaランタイムを対応する32-bit版に切り替える必要があるためです。

圧縮ファイル対応: DocFetcher は現在次の圧縮ファイルに対応しています。: zipと派生フォーマット、7z, rar そしてtar.*ファミリ全体。 さらに実行可能形式のzip と 7zも同様にサポートされていますが、実行可能形式のrarアーカイブには対応していません。 DocFetcher は全ての圧縮ファイルを通常のフォルダと同じように扱います。 そしてまた、任意の深さの入れ子になった圧縮ファイルを扱うことが出来ます。(すなわち、rarアーカイブの中の7zアーカイブの中のzipアーカイブ...)
そうはいっても、zipと7z 圧縮ファイルへのサポートが堅牢性とスピードの面で最高です。その一方、 tar.gz と tar.bz2 などのフォーマットはあまり効率的ではない傾向があります。これは、これらのフォーマットがアーカイブ内に内容の"要約"を持っていないという事実によるもので、個々の圧縮された要素ではなく、圧縮ファイル全体を解凍することを DocFetcher に強要するためです。 要点: あなたが選択できるなら、DocFetcherとの互換性を最大にするため、zip か 7z アーカイブのどちらかでファイルを圧縮してください。

DocFetcherデーモンは無実です: もしあなたが DocFetcher デーモンがコンピュータを遅くしたり、クラッシュを引き起こしていると疑っているなら、あなたはおそらく間違っているでしょう。実際のところ、デーモンは低メモリ占有とCPU使用率の単純なプログラムで、フォルダの監視以外はほとんど何もしません。 まだ納得いかないなら、自動的に起動しないようにデーモンの実行ファイルの名前を変更するか、デフォルトではデーモンが無効になっているポータブル版を試してみてください。

# マニュアルサブページ

- 問合せ構文
- 携帯文書リポジトリ
- インデックスオプション
- 正規表現
- リリース通知
- メモリ制限を引き上げるには
- フォルダ監視制限を引き上げるには (Linux)
- 環境設定

# さらに詳しい情報

更なる情報は私たちの wiki を見てください。質問や感想があれば自由に私たちの forumに訪問してください。 バグレポートは私たちの bug trackerに投稿してください。