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

   For the record, there are already existing Lucene directory implementations 
for various cloud platforms and products. Some would need to be ported to .NET, 
others might already exist on .NET (some of which don't yet support 4.8.0).
   
   https://github.com/apache/lucenenet/issues/631#issuecomment-1086764962
   https://github.com/azure-contrib/AzureDirectory
   https://github.com/tomlm/Lucene.Net.Store.Azure
   https://stackoverflow.com/a/59381272
   https://github.com/albogdano/lucene-s3directory
   
https://docs.jboss.org/author/display/ISPN50/Infinispan%20as%20a%20Directory%20for%20Lucene.html
   https://cwiki.apache.org/confluence/display/lucene/AvailableLockFactories
   
   Lucene is highly optimized to use a local file system. Swapping the 
directory implementation is one way to extend Lucene, but it will come at a 
pretty significant performance penalty to write to a blob storage provider (as 
you can see by the notes on each implementation). There are existing cloud 
products that emulate a local file system that may or may not do the job better 
of moving your index off of the server it runs on.
   
   However, rolling your own `Directory` implementation is a major job that 
will take a significant amount of effort to perform well and be stable enough 
to use.
   
   Note that there is a 
[Lucene.Net.Replicator](https://lucenenet.apache.org/docs/4.8.0-beta00009/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.
   
   
   
   
   
   
   


-- 
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