I had a crack at whipping up something along this lines during a 1 day hackathon we held here at work, using ActiveMQ as the bus between the 'co-ordinator' (Queen bee) and the 'worker" bees. The index work was segmented as jobs on a work queue, and the workers feed the relatively smal index chunks back along a result queue, which the co- ordinator then merged in.

The tough part from observing the outcome is knowing what the chunk size should be, because in the end the co-ordinator needs to merge all the sub-indexes together into 1 and for a large index that's not an insignificant time. You also have to use bookkeeping to work out if a 'job' has not been completed in time (maybe failure by the worker) and decide whether the job should be resubmitted (in theory JMS with transactions would help there, but then you have a throughput problem on that too).

Would love to see something like this work really well, and perhaps generalize it a bit more. I do like the simplicity of the SEDA principles.

cheers,

Paul Smith


On 14/07/2005, at 11:50 PM, Peter Gelderbloem wrote:

I am currently looking into building a similar system and came across
this architecture:
http://www.eecs.harvard.edu/~mdw/proj/seda/

I am just reading up on it now. Does anyone have experience building a
lucene system based on this architecture? Any advice would be greatly
appreciated.

Peter Gelderbloem

   Registered in England 3186704
-----Original Message-----
From: Luke Francl [mailto:[EMAIL PROTECTED]
Sent: 13 May 2005 22:04
To: java-user@lucene.apache.org
Subject: Re: Best Practices for Distributing Lucene Indexing and
Searching

On Tue, 2005-03-01 at 19:23, Chris Hostetter wrote:


I don't really consider reading/writing to an NFS mounted FSDirectory

to

be viable for the very reasons you listed; but I haven't really found

any

evidence of problems if you take they approach that a single "writer"
node indexes to local disk, which is NFS mounted by all of your other
nodes for doing queries.  concurent updates/queries may still not be

safe

(i'm not sure) but you could have the writer node "clone" the entire

index

into a new directory, apply the updates and then signal the other

nodes to

stop using the old FSDirectory and start using the new one.


Thanks to everyone who contributed advice to my question about how to
distribute a Lucene index across a cluster.

I'm about to start on the implementation and I wanted to clarify
something about using NFS that Chris wrote about above.

There are many warnings about indexing on an NFS file system, but is it
safe to have a single node index, while the other nodes use the file
system in read-only mode?

On a related note, our software is cross-platform and needs to work on
Windows as well. Are there any problems known problems having a
read-only index shared over SMB?

Using a shared file system is preferable to me because it's easier, but if it's necessary I will write the code to copy the index to each node.

Thanks,
Luke Francl


---------------------------------------------------------------------
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]





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

Reply via email to