The basic on-premises installation uses Apache Lucene for search functionality, storing search indexes on the local file system. This is sufficient for a single server installation, but Apache Lucene's search indexes are not designed for concurrent access from multiple processes. To run the Structurizr on-premises installation across multiple servers, for high availability, you'll need to use Elasticsearch instead. You can use a local Elasticsearch installation, or a service provided by a cloud provider. We recommend version 6.8.10 and above. Please note that Elasticsearch integration is only available if you have purchased the high-availability add-on.

The following parameters in the structurizr.properties file are used to configure Elasticsearch integration.

Name Description
structurizr.search Search implementation
This must be set to elasticsearch (high availability add-on required).
elasticsearch.protocol Protocol
The protocol used to communicate with Elasticsearch: http (default) or https.
elasticsearch.host Host
The Elasticsearch hostname/IP address (default: localhost).
elasticsearch.port Port
The Elasticsearch port number (default: 9200).
elasticsearch.username Username
The username used to connect to Elasticsearch, if applicable.
elasticsearch.password Password
The password used to connect to Elasticsearch, if applicable.