jeme commented on issue #763:
URL: https://github.com/apache/lucenenet/issues/763#issuecomment-1322012531

   > Note that there is a 
[Lucene.Net.Replicator](https://lucenenet.apache.org/docs/4.8.0-beta00016/api/replicator/Lucene.Net.Replicator.html)
 module that is designed to synchronize an index across multiple servers by 
hosting a listener on a server and having each client request a copy 
periodically. I haven't tried, but I suspect there is a way to utilize it to 
safely copy the index to cloud storage at periodic intervals. I wouldn't 
recommend copying the index outside of a locking context, though, because 
Lucene.NET may lock the files at unpredictable times and it may not be 
practical to copy them without getting copy errors.
   
   The Replicator can probably do that but I don't think it's needed at all to 
do a feature like that, however the replicator holds the answer to how so it's 
worth looking at the code.
   
   But it should be as simple as using the SnapshotDeletionPolicy (Also 
required by the Replicator) then at intervals do a snapshot by calling the 
`Snapshot` method which returns a `IndexCommit` then copy all the files of that 
commit.
   
   We do that targeting the local file system to make dated snapshots of our 
index. Going from building snapshots targeting the local file system to putting 
them into cloud storage shouldn't be much of a challenge.
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: dev-unsubscr...@lucenenet.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org

Reply via email to