Es gibt mehrere Optionen zur Verfügung, je nach Netzwerk-Setup.
Sie können direkt mit einem Remote-Dateisystem arbeiten, das als Netzwerkfreigaben mit FSDirectory.Open(@"\\server\index")
veröffentlicht wurde, aber wie bereits erwähnt, wirken sich Netzwerklatenz und -geschwindigkeit auf Ihre Indizierung aus.
Sie könnten auch sie Index lokal, entweder unter Verwendung eines FSDirectory
oder eine RAMDirectory
, und rufen Sie Directory.Copy(src, dest, closeDirSrc)
es über eine Netzwerkfreigabe an Ihren Remote-Standort zu übertragen. Dies ist schneller als die direkte Arbeit mit einem Remote-Verzeichnis, da während der Indizierung kein Netzwerk-Overhead entsteht.
Wenn die Geschwindigkeit keine Rolle spielt oder Sie sich abenteuerlustig fühlen, erstellen Sie eine benutzerdefinierte Verzeichnisimplementierung (erben von Directory
), die die von Ihnen benötigte Übertragungstechnik (FTP, E-Mail, Brieftauben usw.) verwendet.
Sie meinen, Erstellen von Mapping-Laufwerk für Remote-Verzeichnis? Wenn das Remote-Dateisystem keine gute Lösung ist, was würde ich tun, wenn ich mehrere Indexer auf verschiedenen Systemen und einen Sucher zur Suche habe – Ehsan
@Ehsan: Mein Vorschlag wäre, Solr zu verwenden, anstatt zu versuchen, seine verteilten Suchfunktionen zu replizieren. Abgesehen davon haben Sie nicht viele Optionen. – Xodarap