On 9/23/06, Neville Burnell <[EMAIL PROTECTED]> wrote:
> > I'm not sure if you are asking for a confirmation that this was the
> > problem or looking for a solution.
>
> I guess I am looking for a solution to rebuilding the index while
> readers are active.
>
> For the time being I could simply delete all docs, then add all docs.
>
> Would a IndexWriter.delete_all be possible?
>
> Kind Regards
>
> Neville

Hi Neville,

You could do it like this:

    reader.max_doc.times {|i| reader.delete(i)}

That will delete all documents. Make sure you close your IndexWriter
before doing this though as the IndexReader will try and obtain locks
on the index for the deletions.

Alternatively you could use a rotating index directory. When you
rebuild, rebuild in a new directory. Then when you have finished
rebuilding, re-open the IndexReaders on the new directory.

Both solutions should work equally well.

Cheers,
Dave
_______________________________________________
Ferret-talk mailing list
[email protected]
http://rubyforge.org/mailman/listinfo/ferret-talk

Reply via email to