RAMDirectory has a constructor that takes in another Directory and loads it into memory. No Serialization necessary. Just index to a FSDirectory using Lucene's normal indexing methods (it takes care of buffering them internally) and then load the FSDirectory into a RAMDirectory. Have a look at the Javadocs for RAMDirectory to see how to do this.

-Grant

On Nov 27, 2007, at 9:36 AM, Haroldo Nascimento wrote:

You can serialize this object RAMDirectory em disk. When start the
application , it read the file .ser and load the object in memory.
The time of load of file .ser is much fast.
You need change any classes of Lucece: Add the "implements Serialzable" in
any classes.



On Nov 27, 2007 4:28 AM, Chhabra, Kapil <[EMAIL PROTECTED]> wrote:

one can improve search performance by using a RAMDirectory created
from an underlying FSDirectory using one of the parameterised
constructors. Is this correct?
Absolutly

Will a FSDirectory not automatically load the index into memory
provided enough RAM is available?
Not all index files are loaded in the RAM if you are using the
FSDirectory. Though at the same time, queries are cached.

Do I have to explicitly use a RAMDirectory?
If you want to load the comeplte index in the memory, yes. This increase the performance a lot as it drastically reduces the number of disk IO.
Obviously at the cost of the RAM. If you have enough RAM available to
accommodate the complete index, you can go ahead with this.

Regards,
kapilChhabra

-----Original Message-----
From: Hardy Ferentschik [mailto:[EMAIL PROTECTED]
Sent: Tuesday, November 27, 2007 12:25 PM
To: java-user@lucene.apache.org
Subject: RAMDirectory vs FSDirectory

Hi there,

I am using currently a FSDirectory to build my index. The reason for
using a file system based index is that a full index rebuild takes
around 30 minutes and I want to keep a persistent index.
In 'Lucene in Action' I've read that one can improve search performance by using a RAMDirectory created from an underlying FSDirectory using one of the parameterised constructors. Is this correct? Will a FSDirectory
not automatically load the index into memory provided enough RAM is
available?
Do I have to explicitly use a RAMDirectory?

--Hardy

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



--------------------------
Grant Ingersoll
http://lucene.grantingersoll.com

Lucene Helpful Hints:
http://wiki.apache.org/lucene-java/BasicsOfPerformance
http://wiki.apache.org/lucene-java/LuceneFAQ




---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to