Mailing List Archive

SerializableRAMDirectory
Hi, I just added the Serializable implementation keyword to the RAMDirectory
implementation. This way I can just write the whole RAMDirectory to a
database blob for storage. After reading the RAMDir from the blob again I
can successfully perform searches on the new instance.

This started out because I got too many "too many open files" exceptions
using the FSDirectory. Then I tried to create a BLOBDirectory
implementation, but found that the lucene In/OutputStream classes to require
seek(). So when lucene wants to open a file in a BLOBDirectory I had to
fetch the whole BLOB for the file into memory so I could provide all the
functions required by the lucene Directory interface.

Since the RAMDirectory already works great in-memory, serializing it to the
BLOB after read/write sounded like a just as good idea.

If there is nothing I have overseen here I would suggest to add the
Serializable implementation keyword to the RAMDirectory implementation
because that was all it required.


mvh karl oie