Christoph Kiehl wrote:
I like the idea of having a transactional index but I don't think it's a
good idea to read this index from a binary property in a database,
because in our case we've got a fairly large repository where we got
index files with a size of 40MB. As far as I understand you have to
transfer 40MB to the database on every index change that gets committed.
Am I right?
In general, this is correct. but lucene is designed in a way that it
never modifies an existing index file. if you have a 40 MB index
segment file and you delete a document within that index, lucene will
simply update a small other file which is kept along the index called
<segment-name>.del. Adding a new document to an existing index segment
is not possible, in that case lucene will create a new segment.
in practice this would mean that an index segment file is read from
the persistence manager (e.g. database) only once and then deleted at
some point when the index merger created a new index segment from
existing ones.
regards
marcel
- Re: Jackrabbits own FileSystem and unit tests Marcel Reutegger
-