You can do this by implementing Lucene.Net.Store.Directory
. The xmldoc for this abstract class is very didactic:
A Directory is a flat list of files. Files may be written once, when
they are created. Once a file is created it may only be opened for
read, or deleted. Random access is permitted both when reading and
writing.
Java's i/o APIs not used directly, but rather all i/o is through this
API. This permits things such as:
- implementation of RAM-based indices;
- implementation indices stored in a database, via JDBC;
- implementation of an index as a single file;
Directory locking is implemented by an instance of LockFactory, and
can be changed for each Directory instance using setLockFactory.
Here's an example of implementing a custom Directory to support Azure.