Hmmm. Sounds like I misread what you explained in 2. I missed the fact you want to have one index per store. So let me change my answer. If a single index, one shard, can hold your 400 000 docs which sounds reasonable to me, then one single index will be faster than querying 20 indices.
My 2 cents -- David Pilato | Technical Advocate | Elasticsearch.com @dadoonet <https://twitter.com/dadoonet> | @elasticsearchfr <https://twitter.com/elasticsearchfr> | @scrutmydocs <https://twitter.com/scrutmydocs> > Le 3 nov. 2014 à 23:01, Ori P <[email protected]> a écrit : > > Thanks for replying David. > > I thought approach 2 might be problematic since the alias on multiple indices > would cause a query to run on every index separately, which I thought might > slow things down. Apparently I was wrong? > > And thanks for the tip about the refresh interval :) > > On Monday, November 3, 2014 11:54:38 PM UTC+2, David Pilato wrote: > I don't see any benefit of solution 1. > > I would definitely do solution 2. > > I don't really think you could see a difference search time wise. But in term > of IO 2 is better. > Also, you should modify refresh interval while indexing to -1 and call > refresh after the bulk load. > > HTH > > -- > David ;-) > Twitter : @dadoonet / @elasticsearchfr / @scrutmydocs > > Le 3 nov. 2014 à 21:31, Ori P <[email protected] <javascript:>> a écrit : > >> I would appreciate your suggestions in helping me design my elasticsearch >> index. >> >> I'm intending to index product feeds from about 20 on-line stores, each >> store not having more than 20,000 products. each product has about 15 basic >> fields. >> Most of the searches would be done on specific product categories, and not >> specific stores. >> >> Each store feed is updated every few days (each store separately), by >> receiving an XML file containing all the products in the store (no deltas). >> Each update, I need to remove from my index all the existing products from >> that store and add the new ones. >> >> I thought of two possibles approaches: >> >> 1. Create a single index + an alias to that index. Once a new feed is >> received, clone the existing index to a new index, remove from the new index >> all the old products, add the new products and finally change the alias to >> point to the new index. >> >> 2. Create an index for each store, and an alias that points to all of the >> indices. Once a new feed is received, just index it from scratch, remove the >> old store index from the alias and add the new one. >> >> I'm not sure which way will give me faster search results? or maybe there is >> an even better approach I didn't think of... >> >> Thanks in advance, >> >> Ori >> >> -- >> You received this message because you are subscribed to the Google Groups >> "elasticsearch" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to [email protected] <javascript:>. >> To view this discussion on the web visit >> https://groups.google.com/d/msgid/elasticsearch/34f2766d-cada-4ba9-a4fa-961c34aa2f8b%40googlegroups.com >> >> <https://groups.google.com/d/msgid/elasticsearch/34f2766d-cada-4ba9-a4fa-961c34aa2f8b%40googlegroups.com?utm_medium=email&utm_source=footer>. >> For more options, visit https://groups.google.com/d/optout >> <https://groups.google.com/d/optout>. > > > -- > You received this message because you are subscribed to the Google Groups > "elasticsearch" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected] > <mailto:[email protected]>. > To view this discussion on the web visit > https://groups.google.com/d/msgid/elasticsearch/6c85ec37-e93e-47d6-a29f-72207f9925d8%40googlegroups.com > > <https://groups.google.com/d/msgid/elasticsearch/6c85ec37-e93e-47d6-a29f-72207f9925d8%40googlegroups.com?utm_medium=email&utm_source=footer>. > For more options, visit https://groups.google.com/d/optout > <https://groups.google.com/d/optout>. -- You received this message because you are subscribed to the Google Groups "elasticsearch" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/elasticsearch/4CB2DC5E-6512-4933-BA26-DDE45792D531%40pilato.fr. For more options, visit https://groups.google.com/d/optout.
