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.).
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
@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