Hi Bill, On Sun, Apr 25, 2010 at 12:23 PM, Bill Paetzke <billpaet...@gmail.com>wrote:
> *Given:* > > - 1 database per client (business customer) > - 5000 clients > - Clients have between 2 to 2000 users (avg is ~100 users/client) > - 100k to 10 million records per database > - Users need to search those records often (it's the best way to navigate > their data) > > *The Question:* > > How would you setup Solr (or Lucene) search so that each client can only > search within its database? > > How would you setup the index(es)? > I'd look at setting up multiple cores for each client. You may need to setup slaves as well depending on search traffic. > Where do you store the index(es)? > Setting up 5K cores on one box will not work. So you will need to partition the clients into multiple boxes each having a subset of cores. > Would you need to add a filter to all search queries? > Nope, but you will need to send the query to the correct host (perhaps a mapping DB will help) > If a client cancelled, how would you delete their (part of the) index? > (this > may be trivial--not sure yet) > > With different cores for each client, this'd be pretty easy. -- Regards, Shalin Shekhar Mangar.