2011-01-10 7 views
5

Salut
Existe-t-il un moyen de stocker des fichiers d'index Lucene à distance, par exemple je suis sur PC (A) et je veux indexer mes documents, mais stocker le résultat à distance comme certains répertoire sur PC (B) est-il pris en charge en interne ou je devrais écrire du code personnalisé pour le soutenir?Stockez le fichier index Lucene à l'emplacement distant

beaucoup grâce à une réponse précise

Répondre

1
  1. Je ne sais pas comment vous vous connectez à la « distance », mais si vous pouvez monter PC (B) dans le cadre de votre système de fichiers que vous pouvez mettre votre index là-bas sans rien faire de spécial.
  2. Cela étant dit, à distance sont slower systèmes de fichiers que les locaux
+0

vous voulez créer un lecteur de mappage pour le répertoire distant? si le système de fichiers distant n'est pas une bonne solution, que ferais-je si j'ai plusieurs indexeurs sur des systèmes différents et un chercheur pour alimenter la requête de recherche – Ehsan

+0

@Ehsan: Ma suggestion serait d'utiliser Solr plutôt que d'essayer de répliquer sa fonctionnalité de recherche distribuée. En dehors de cela, vous n'avez pas beaucoup d'options. – Xodarap

6

Il y a plusieurs options disponibles, en fonction de la configuration de votre réseau.

Vous pouvez travailler directement sur un système de fichiers distant publié en tant que partage réseau avec FSDirectory.Open(@"\\server\index"), mais comme cela a déjà été noté, la latence et la vitesse du réseau affecteront votre indexation.

Vous pouvez également l'indexer localement, soit en utilisant un FSDirectory ou un RAMDirectory, et en appelant le Directory.Copy(src, dest, closeDirSrc) pour le transférer via un partage réseau vers votre emplacement distant. Ce sera plus rapide que de travailler directement sur un répertoire distant, car il n'y a pas de surcharge réseau au cours de l'indexation. Si la vitesse est sans importance, ou si vous vous sentez aventureux, essayez de construire une implémentation de répertoire personnalisée (hériter de Directory) qui utilise la technique de transfert dont vous avez besoin (ftp, email, pigeons voyageurs, etc.).

Questions connexes