Hi,

I'm currently trying to set up a solution involving multiple servers
using the same index over nfs.
The problem is that from what I have seen, ferret doesn't support
multiple processes writing to the same index.

Using a DRb service is not an option since this would create a single
point of failure.

I tried using Ferret::Store::FSDirectory to create a write lock on the
the index directory with code somewhat like this one:

[...]

dir = Ferret::Store::FSDirectory.new(INDEX_PATH)
write_lock = dir.make_lock("lock")
write_lock.obtain
index << {:id => id, :type => 'create_test_type'}\
index.flush
write_lock.release

[...]

but it makes the processes freezes or raise a
Ferret::Store::Lock::LockError in my different attempts.

I tried to play with IndexWriter options like max_merge_docs,
merge_factor... but without success. Maybe there is a way to merge all
the Compound files every couple of writes instead of doing it on the
fly.

Is there a way to achieve my goal?

Dave please tell me you have an idea:-P

Thanks

Seb

--
Sebastien Pahl - Rift Technologies
[EMAIL PROTECTED]

-- 
Posted via http://www.ruby-forum.com/.
_______________________________________________
Ferret-talk mailing list
[email protected]
http://rubyforge.org/mailman/listinfo/ferret-talk

Reply via email to