views:

150

answers:

3

I've got four websites that are edited via one CMS (hanging off one of the sites) like this:

www.domain1.com
www.domain2.com
www.domain3.com
www.domain4.com
www.domain4.com/cms

I'll be using Lucene to index the textual content (from database and uploaded documents) of all four sites. The index will have to be available to both the CMS system, and the search page on each domain / website (which may be on different physical servers).

So should I use one lucene index on the domain that hosts the CMS system, or put an index on each domain? (I'm guessing I'll have to write some sort of web service to tie everything together for either solution). Is there a recommended method for achieving this?

Thanks.

+1  A: 

We have had some success with simple placing the lucene index on a file share that is accessible by all servers. This isn't really supported but works perfectly for our needs. This is a relatively low traffic scenario though.

If your index is only updated from one of the sites then you can simply copy it across to the other servers after each update. Or on a hourly/daily basis.

Jack Ryan
+1 Didn't think of just copying it over..
Nick
+1  A: 

I'm planning something very similar to this....

What i'll probably do is have a single lucene index, with a "service" (web service, or wcf) above it, to query the index, and update the index. think of it as a seperate domain that handles searching

alex
This was the direction I was thinking of too, seems less hassle than telling the CMS which lucene index it should be updating every time
Nick
+2  A: 

How about running Lucene as a stand-alone server shared by these clients? Check out SOLR.

Steven Sudit