Comparing Solr and Elasticsearch architectures
The Solr and Elasticsearch systems behave similarly at the storefront level. Behind that layer are key differences in architecture.
Solr search architecture
The Solr search server consists of a set of REST services, a Solr search runtime framework, and a set of HCL Commerce foundation services. These services access the HCL Commerce database.
The following diagram shows the Solr search server architecture:

The V9.1 Ingest and Query services
The Elasticsearch query process is structured similarly to the Solr service. The main difference lies in the microservice architecture of the system, and in the exits to the Elasticsearch and ZooKeeper administrative functions. These do not use the monolithic Solr search server.

One of the primary advantages of the Version 9.1 Query service is the inclusion of natural language processing and tooling support. Solr does not have these features and they provide considerable extra power. For more information, see Natural Language Processing (NLP) in Version 9.1.
Comparing Solr and Elasticsearch deployment architecture
- Enables capacity sharing.
- De-couples indexed data from the query service to allow you to scale each service independently.
- Uses an Index cluster to allow dynamic scaling.
- Shards the index and uses distributed search at query time.
The following table depicts the key differences between the Solr and Elasticsearch deployment architecture:
| Service name | Solr | Elasticsearch |
|---|---|---|
| Store (Authoring environment) | x1(Server) | x1(Web or Server) |
| Transaction (Authoring environment) | x1 | x1 |
| Search (Authoring environment) | x1(Master) | x1(Query) |
| Store (Live environment) | x1 | x1(Web or Server) |
| Transaction (Live environment) | x1 | x1 |
| Search Live environment) | x1(Repeater), x3 (Slave) | x3(Query) |
| Ingest (shared) | Not applicable | x1 (NiFi) |
| Data (shared) | Not applicable | Elasticsearch cluster |
| Event bus (shared) | Not applicable | x1 (Redis) |