Sitecore Azure Search: How to name indexes for distinct environments
Hi there ! In this post I will give you a quick overview of Sitecore Azure Search and give you a solution for one of problems that i faced with azure Search , how we can share azure search service between distinct environments
What is Azure Search ?
Azure Search is a search-as-a-service cloud solution that gives developers APIs and tools for adding a rich search experience over private, heterogenous content in web, mobile, and enterprise applications. Query execution is over a user-defined index.
What is Sitecore Azure Search provider ?
The Sitecore Azure Search provider integrates the Sitecore Search engine with the Microsoft Azure Search service. The Microsoft Azure Search service is a part of the Microsoft Azure computing platform, you can read more about the Microsoft Azure Search service on their website.
Background :
Basically, in Sitecore project, we have different environments (develop, preprod,Prod,etc..). Imagine if the indexes have the same name, they will be shared by all environments, that will be a big problem !
Solution ?
Add prefix per environment to all indexes Sitecore names to differentiate which index for which environment. Eg: local-sitecore-master-index for local environment, preprod-sitecore-master-index for preprod environment.
How to implement that ?
- Add index name prefix (local, preprod, etc..) setting to settings config file
<setting name="ContentSearchIndexNamePrefix" value="local">
- Create Custom CloudSearchProviderIndex
- Change the native cloud search provider by the Custom Cloud Search Provider Index