2011-01-10 4 views
5

こんにちは
たとえば、私はPC(A)にあり、ドキュメントをインデックスに登録したいが、その結果をいくつかのリモートロケーションに保存するなど、リモートロケーションにluceneインデックスファイルを保存する方法はありますか? PC(B)のディレクトリは内部的にサポートされているか、それをサポートするカスタムコードを記述する必要がありますか?正確な応答にLuceneインデックスファイルをリモートロケーションに保存する

多くのおかげ

答えて

1
  1. 私はあなたが「遠隔地」に接続しているかどうかはわかりませんが、あなたはあなたのファイルシステムの一部としてPC(B)をマウントすることができれば、あなたを置くことができます特別なことをすることなくインデックスを作成する。
  2. 言われていること、リモートファイルシステムは、ネットワークの設定に応じて、利用可能ないくつかのオプションがありますslower
  3. ローカルのものより
+0

あなたはリモートディレクトリのマッピングドライブを作成することを意味しますか?もしリモートファイルシステムが良い解決策ではないなら、私は別のシステムに複数のインデクサーを持ち、検索要求を送る検索者を – Ehsan

+0

@エーザン:私の提案は分散検索機能を複製しようとするのではなく、Solrを使うことです。それとは別に、あなたには非常に多くのオプションがありません。 – Xodarap

6

です。

ネットワークとして公開されているリモートファイルシステムに対して、FSDirectory.Open(@"\\server\index")で直接作業することはできますが、すでに述べたように、ネットワークの待ち時間と速度がインデックスに影響します。

FSDirectoryまたはRAMDirectoryを使用してローカルでインデックスを作成し、Directory.Copy(src, dest, closeDirSrc)に電話をかけて、ネットワーク共有経由で遠隔地に転送することもできます。これは、インデックス作成中にネットワークオーバーヘッドがないため、リモートディレクトリに対して直接作業するよりも高速になります。

速度が問題でない場合、または冒険的な気がする場合は、必要な転送方法(ftp、電子メール、キャリアピジョンなど)を使用するカスタムディレクトリの実装(Directoryから継承)を試してみてください。

関連する問題