Rule-based configuration uses rule definitions that you can set for each Sitecore instance. Sitecore uses the values of these rule definitions to determine whether Sitecore should apply the settings from configuration files and patch files.
Sitecore comes with two predefined rule definitions: role, which determines which Sitecore role or roles the instance runs, and search, which determines the search provider Sitecore is optimized for. This means that in order to, for example, set up Sitecore to perform a particular server role, all you must do is change the value of the role definition.
In addition to the predefined keys, you can add your own custom rules.
This topic describes:
The role rule definition
The role definition determines the server role. Sitecore ships with the following preconfigured server roles:
Enables content editors to create and publish content to a website.
Makes your web content available to your website contacts.
Extracts information from captured, raw analytics data and transforms it into a form suitable for use in reporting applications.
Fetches reporting data from various data sources, such as the collection and reporting databases, to use in Sitecore reporting applications, for example, Experience Analytics.
A single Sitecore instance performing all server roles.
The values are not case sensitive. However, it is best practice to use the names as they are written in the table.
The default value is Standalone. A standalone installation fulfills all Sitecore server roles and performs all functionality. This is not an optimal configuration for a production environment, because you cannot optimize the instance for a particular server role. Furthermore, the only way to scale the instance is to add hardware to the server that hosts the instance.
You can improve performance and scalability by adding more servers and assigning them different server roles.
The search rule definition
The search definition determines which search provider Sitecore is optimized for. Sitecore ships with the following preconfigured definitions for search:
The default value for a local Sitecore installation is Solr.
The values are not case sensitive. However, it is best practice to use the names for the values as they are written above.
To control settings in your Sitecore installation, you can define your own custom rules. For example, you can add a custom rule that specifies whether the Sitecore instance is part of a test environment or a production environment. You can then apply environment-dependent settings on each Sitecore instance by testing the value of the custom rule on that instance.