Ci sono diverse opzioni disponibili, a seconda della configurazione della rete.
È possibile lavorare direttamente su un filesystem remoto pubblicato come condivisioni di rete con FSDirectory.Open(@"\\server\index")
, ma come già notato, la latenza della rete e la velocità influiranno sull'indicizzazione.
Si potrebbe anche indice a livello locale, sia utilizzando un FSDirectory
o un RAMDirectory
, e chiamare Directory.Copy(src, dest, closeDirSrc)
di trasferirlo tramite una condivisione di rete per la vostra postazione remota. Questo sarà più veloce di lavorare direttamente contro una directory remota poiché non c'è overhead di rete durante l'indicizzazione.
Se la velocità non interessa o ti senti avventuroso, prova a creare un'implementazione di directory personalizzata (ereditata da Directory
) che utilizza qualsiasi tecnica di trasferimento necessaria (ftp, email, piccioni viaggiatori, ecc.).
significa la creazione di un'unità di mapping per la directory remota? se il file system remoto non è una buona soluzione cosa farei se avessi un indicizzatore multiplo su sistemi diversi e un ricercatore per alimentare la richiesta di ricerca – Ehsan
@Ehsan: Il mio suggerimento sarebbe di usare Solr piuttosto che provare a replicare la sua funzionalità di ricerca distribuita. A parte questo, non hai molte opzioni. – Xodarap