That's how we do it in Orbitz. We use "type" field to separate content, review 
and promotional information in one single index. And then we use the 
last-components to plugin these data together.

Only thing that we haven't yet tested is the scalability of this model, since 
our data is small.

Thanks,
Kalyan Manepalli

-----Original Message-----
From: Chris Masters [mailto:roti...@yahoo.com]
Sent: Tuesday, May 05, 2009 10:00 AM
To: solr-user@lucene.apache.org
Subject: Multi-index Design


Hi All,

I'm [still!] evaluating Solr and setting up a PoC. The requirements are to 
index the following objects:

 - people - name, status, date added, address, profile, other people specific 
fields like group...
 - organisations - name, status, date added, address, profile, other 
organisational specific fields like size...
 - products - name, status, date added, profile, other product specific fields 
like product groups..

AND...I need to isolate indexes to a number of dynamic domains (customerA, 
customerB...) that will grow over time.

So, my initial thoughts are to do the following:

 - flatten the searchable objects as much as I can - use a type field to 
distinguish - into a single index
 - use multi-core approach to segregate domains of data

So, a couple questions on this:

 1) Is this approach/design sensible and do others use it?

 2) By flattening the data we will only index common fields; is it unreasonable 
to do a second database search and union the results when doing advanced 
searches on non indexed fields? Do others do this?

 3) I've read that I can dynamically add a new core - this fits well with the 
ability to dynamically add new domains; how scaliable is this approach? Would 
it be unreasonable to have 20-30 dynaimically created cores? I guess, 
redundancy aside and given our one core per domain approach, we could easily 
spill onto other physical servers without the need for replication?

Thanks again for your help!
rotis



Reply via email to