# eCommerce / B2B / Customer specific catalog

**URL:** <https://discuss.elastic.co/t/ecommerce-b2b-customer-specific-catalog/63123>\
**Category:** Elasticsearch\
**Created:** [October 16, 2016, 8:54am UTC](https://discuss.elastic.co/t/ecommerce-b2b-customer-specific-catalog/63123 "2016-10-16T08:54:25Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![brianhdk](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/brianhdk/32/12522_2.png) [@brianhdk](https://discuss.elastic.co/u/brianhdk)\
**Post date:** [October 16, 2016, 8:54am UTC](https://discuss.elastic.co/t/ecommerce-b2b-customer-specific-catalog/63123/1 "2016-10-16T08:54:25Z")

</div>

Hi all,

I'm interested in getting suggestions about how to structure ElasticSearch, in the following scenario:

- We're a B2B webshop with thousands of products and categories
- Customers need to login to see products (thus B2B)
- Many products have filters applied to them - meaning that they're restricted to certain customers
- Products contain multi-lingual fields - e.g. display name and description are languagespecific
- Customers are _not_ bound to a specific language - thus a customer can just change language if he wants

My questions are:

- Should I create an index per language containing _all_ products - and store the language-specific fields in the language-specific index, and just replicate the other non-language specific fields?
- Should I create an index per customer, which is basically just a list of products the customer can see - and not containing the actual products. Is it ieven possible?

I hope it makes sense. Will look forward to hear from some of you 🙂

Best Regards  
Brian

---

<div class="post-metadata">

**Author:** ![system](https://us1.discourse-cdn.com/elastic/original/3X/1/a/1ac57faf039f6b580b3f104ef42a2a89e41014de.png) [@system](https://discuss.elastic.co/u/system)\
**Post date:** [July 5, 2017, 10:11pm UTC](https://discuss.elastic.co/t/ecommerce-b2b-customer-specific-catalog/63123/2 "2017-07-05T22:11:56Z")

</div>


