We are using Sitecore Commerce 9.0.1 update 1. We are creating multiple indexes to avoid Azure field limit ( 1000).My question is , how the Azure search to get the results from multiple indexes? We are using Sitecore SA search box and search results component. Do we need to add/change any config to force the search to get the results from multiple indexes?
It's up to you how you'll design it but here are a few tips you can use:
- Crawler root node - each index has a crawler defined. This crawler has a root item configured: You can change it if you want just a part of your content to be indexed.
- You mention that you have a lot of content out there. So you probably have at least a few languages too. In such a case, you can define separate index per language: Keep in mind that you need to define those indexes manually in the config file (and in case of Solr create those cores). Here you can combine 1) and 2) so while creating index per language change a root in the crawler so that it will pick up just part of the items from the tree.
You can exclude fields which are not needed in the index - in most cases that is a real problem. Templates which will be indexed contains a huge amount of fields which in fact are not needed later on while searching. Sitecore has such list of fields defined for example here:
Sitecore.ContentSearch.Azure.Index.Web.ExcludeFields.configand we in SXA are doing the same in this file
Sitecore.XA.Foundation.Search.Solr.config. Maybe you just need to create such a file and the problem will be gone.
Remember that it's not about a number of records in the index. This 1000 limit is for the number of fields in the index. So you can have just 500 items (which stands for 500 records) but a number of template fields of those items will be huge and you will hit 1000 fields per index limit.