Hay varias opciones disponibles, dependiendo de su configuración de red.
Puede trabajar directamente contra un sistema de archivos remoto publicado como recursos compartidos de red con FSDirectory.Open(@"\\server\index")
, pero como ya se señaló, la latencia de la red y la velocidad afectarán su indexación.
También puede indexarlo localmente, ya sea usando FSDirectory
o RAMDirectory
, y llame al Directory.Copy(src, dest, closeDirSrc)
para transferirlo a través de un recurso compartido de red a su ubicación remota. Esto será más rápido que trabajar directamente en un directorio remoto ya que no hay una sobrecarga de red durante la indexación.
Si la velocidad no es importante, o si se siente aventurero, intente crear una implementación de directorio personalizado (herede de Directory
) que utiliza la técnica de transferencia que necesite (ftp, correo electrónico, palomas mensajeras, etc.).
quieres decir crear la unidad de mapeo para el directorio remoto? si el sistema de archivos remoto no es una buena solución, ¿qué haré si tengo un indexador múltiple en diferentes sistemas y un buscador para alimentar la solicitud de búsqueda – Ehsan
@Ehsan? Mi sugerencia sería usar Solr en lugar de intentar replicar su funcionalidad de búsqueda distribuida. Aparte de eso, no tienes muchas opciones. – Xodarap