Class ElasticsearchBackendSettings
Constants in this class are to be appended to a prefix to form a property key;
see BackendSettings
for details.
- Author:
- Gunnar Morling
-
Nested Class Summary
Modifier and TypeClassDescriptionstatic final class
Default values for the different settings if no values are given. -
Field Summary
Modifier and TypeFieldDescriptionstatic final String
AElasticsearchHttpClientConfigurer
that defines custom HTTP client configuration.static final String
The timeout when establishing a connection to an Elasticsearch server.static final String
Whether automatic discovery of nodes in the Elasticsearch cluster is enabled.static final String
The time interval between two executions of the automatic discovery, if enabled.static final String
The hostname and ports of the Elasticsearch servers to connect to.static final String
How to determine index names and aliases.static final String
Whether JSON included in logs should be pretty-printed (indented, with line breaks).static final String
How to map documents to their type name, i.e. how to determine the type name of a document in search hits.static final String
The maximum number of simultaneous connections to the Elasticsearch cluster, all hosts taken together.static final String
The maximum number of simultaneous connections to each host of the Elasticsearch cluster.static final String
How long connections to the Elasticsearch cluster can be kept idle.static final String
How to implement multi-tenancy.static final String
The password to send when connecting to the Elasticsearch servers (HTTP authentication).static final String
Property for specifying the path prefix prepended to the request end point.static final String
The protocol to use when connecting to the Elasticsearch servers.static final String
This property defines if partial shard failures are ignored.static final String
The timeout when reading responses from an Elasticsearch server.static final String
The timeout when executing a request to an Elasticsearch server.static final String
Property for specifying the maximum duration ascroll
will be usable if no other results are fetched from Elasticsearch.static final String
The size of the thread pool assigned to the backend.static final String
The value to set thebackend type
configuration property in order to get an Elasticsearch backend instantiated by Hibernate Search.static final String
The protocol, hostname and ports of the Elasticsearch servers to connect to.static final String
The username to send when connecting to the Elasticsearch servers (HTTP authentication).static final String
The version of Elasticsearch running on the Elasticsearch cluster.static final String
Whether check version of the Elasticsearch cluster is enabled. -
Method Summary
-
Field Details
-
TYPE_NAME
The value to set thebackend type
configuration property in order to get an Elasticsearch backend instantiated by Hibernate Search.Only useful if you have more than one backend technology in the classpath; otherwise the backend type is automatically detected.
- See Also:
-
HOSTS
The hostname and ports of the Elasticsearch servers to connect to.Expects a String representing a hostname and port such as
localhost
ores.mycompany.com:4400
, or a String containing multiple such hostname-and-port strings separated by commas, or aCollection<String>
containing such hostname-and-port strings.Multiple servers may be specified for load-balancing: requests will be assigned to each host in turns.
Setting this property at the same time as
URIS
will lead to an exception being thrown on startup.Defaults to
ElasticsearchBackendSettings.Defaults.HOSTS
.- See Also:
-
PROTOCOL
The protocol to use when connecting to the Elasticsearch servers.Expects a String: either
http
orhttps
.Setting this property at the same time as
URIS
will lead to an exception being thrown on startup.Defaults to
ElasticsearchBackendSettings.Defaults.PROTOCOL
.- See Also:
-
URIS
The protocol, hostname and ports of the Elasticsearch servers to connect to.Expects either a String representing an URI such as
http://localhost
orhttps://es.mycompany.com:4400
, or a String containing multiple such URIs separated by commas, or aCollection<String>
containing such URIs.All the URIs must specify the same protocol.
Setting this property at the same time as
HOSTS
orPROTOCOL
will lead to an exception being thrown on startup.Defaults to
http://localhost:9200
, unlessHOSTS
orPROTOCOL
are set, in which case they take precedence.- See Also:
-
PATH_PREFIX
Property for specifying the path prefix prepended to the request end point. Use the path prefix if your Elasticsearch instance is located at a specific context path.Defaults to
ElasticsearchBackendSettings.Defaults.PATH_PREFIX
.- See Also:
-
VERSION
The version of Elasticsearch running on the Elasticsearch cluster.Expects either an
ElasticsearchVersion
object, or a String that can beparsed
in such an object.No default: if not provided, the version will be resolved automatically by sending a request to the Elasticsearch cluster on startup.
- See Also:
-
VERSION_CHECK_ENABLED
Whether check version of the Elasticsearch cluster is enabled.Expects a Boolean value such as
true
orfalse
, or a string that can be parsed into a Boolean value.Defaults to
true
when theVERSION
is unconfigured or set to a distribution that supports version checking, and tofalse
when theVERSION
is set to a distribution that does not support version checking (like Amazon OpenSearch Serverless).- See Also:
-
USERNAME
The username to send when connecting to the Elasticsearch servers (HTTP authentication).Expects a String.
Defaults to no username (anonymous access).
- See Also:
-
PASSWORD
The password to send when connecting to the Elasticsearch servers (HTTP authentication).Expects a String.
Defaults to no username (anonymous access).
- See Also:
-
REQUEST_TIMEOUT
The timeout when executing a request to an Elasticsearch server.This includes the time needed to establish a connection, send the request and read the response.
Expects a positive Integer value in milliseconds, such as 60000, or a String that can be parsed into such Integer value.
Defaults to no request timeout.
- See Also:
-
READ_TIMEOUT
The timeout when reading responses from an Elasticsearch server.Expects a positive Integer value in milliseconds, such as
60000
, or a String that can be parsed into such Integer value.Defaults to
ElasticsearchBackendSettings.Defaults.READ_TIMEOUT
.- See Also:
-
CONNECTION_TIMEOUT
The timeout when establishing a connection to an Elasticsearch server.Expects a positive Integer value in milliseconds, such as
3000
, or a String that can be parsed into such Integer value.Defaults to
ElasticsearchBackendSettings.Defaults.CONNECTION_TIMEOUT
.- See Also:
-
MAX_CONNECTIONS
The maximum number of simultaneous connections to the Elasticsearch cluster, all hosts taken together.Expects a positive Integer value, such as
20
, or a String that can be parsed into such Integer value.Defaults to
ElasticsearchBackendSettings.Defaults.MAX_CONNECTIONS
.- See Also:
-
MAX_CONNECTIONS_PER_ROUTE
The maximum number of simultaneous connections to each host of the Elasticsearch cluster.Expects a positive Integer value, such as
10
, or a String that can be parsed into such Integer value.Defaults to
ElasticsearchBackendSettings.Defaults.MAX_CONNECTIONS_PER_ROUTE
.- See Also:
-
DISCOVERY_ENABLED
Whether automatic discovery of nodes in the Elasticsearch cluster is enabled.Expects a Boolean value such as
true
orfalse
, or a string that can be parsed into a Boolean value.Defaults to
ElasticsearchBackendSettings.Defaults.DISCOVERY_ENABLED
.- See Also:
-
DISCOVERY_REFRESH_INTERVAL
The time interval between two executions of the automatic discovery, if enabled.Expects a positive Integer value in seconds, such as
2
, or a String that can be parsed into such Integer value.Defaults to
ElasticsearchBackendSettings.Defaults.DISCOVERY_REFRESH_INTERVAL
.- See Also:
-
CLIENT_CONFIGURER
AElasticsearchHttpClientConfigurer
that defines custom HTTP client configuration.It can be used for example to tune the SSL context to accept self-signed certificates. It allows overriding other HTTP client settings, such as
USERNAME
orMAX_CONNECTIONS_PER_ROUTE
.Expects a reference to a bean of type
ElasticsearchHttpClientConfigurer
.Defaults to no value.
- See Also:
-
LOG_JSON_PRETTY_PRINTING
Whether JSON included in logs should be pretty-printed (indented, with line breaks).Expects a Boolean value such as
true
orfalse
, or a string that can be parsed into a Boolean value.Defaults to
ElasticsearchBackendSettings.Defaults.LOG_JSON_PRETTY_PRINTING
.- See Also:
-
MULTI_TENANCY_STRATEGY
How to implement multi-tenancy.Expects a
MultiTenancyStrategyName
value, or a String representation of such value.Defaults to
ElasticsearchBackendSettings.Defaults.MULTI_TENANCY_STRATEGY
.- See Also:
-
MAPPING_TYPE_NAME_STRATEGY
How to map documents to their type name, i.e. how to determine the type name of a document in search hits.Expects a
TypeNameMappingStrategyName
value, or a String representation of such value.Defaults to
ElasticsearchBackendSettings.Defaults.MAPPING_TYPE_NAME_STRATEGY
.- See Also:
-
LAYOUT_STRATEGY
How to determine index names and aliases.Expects a reference to a bean of type
IndexLayoutStrategy
.Defaults to the
simple
strategy:- The non-alias name follows the format
<hibernateSearchIndexName>-<6 digits>
- The write alias follows the format
<hibernateSearchIndexName>-write
- The read alias follows the format
<hibernateSearchIndexName>-read
- See Also:
- The non-alias name follows the format
-
THREAD_POOL_SIZE
The size of the thread pool assigned to the backend.Expects a strictly positive integer value, or a string that can be parsed into an integer value.
See the reference documentation, section "Elasticsearch backend - Threads", for more information about this setting and its implications.
Defaults to the number of processor cores available to the JVM on startup.
- See Also:
-
SCROLL_TIMEOUT
Property for specifying the maximum duration ascroll
will be usable if no other results are fetched from Elasticsearch.Expects a positive Integer value in seconds, such as 60, or a String that can be parsed into such Integer value.
Defaults to
ElasticsearchBackendSettings.Defaults.SCROLL_TIMEOUT
.- See Also:
-
MAX_KEEP_ALIVE
How long connections to the Elasticsearch cluster can be kept idle.Expects a positive Long value of milliseconds, such as 60000, or a String that can be parsed into such Integer value.
If the response from an Elasticsearch cluster contains a
Keep-Alive
header, then the effective max idle time will be whichever is lower: the duration from theKeep-Alive
header or the value of this property (if set).If this property is not set, only the
Keep-Alive
header is considered, and if it's absent, idle connections will be kept forever.- See Also:
-
QUERY_SHARD_FAILURE_IGNORE
This property defines if partial shard failures are ignored.In case all shards fail, Elasticsearch cluster will return a 400 status code itself, but if only some of the shards fail, then the client will receive a successful partial response from the shards that were successful.
To prevent getting any partial results this setting can be set to
false
. While if the partial failures should be ignored and considered as valid results then the value should be set totrue
.Expects a Boolean value such as
true
orfalse
, or a string that can be parsed into a Boolean value.Defaults to
ElasticsearchBackendSettings.Defaults.QUERY_SHARD_FAILURE_IGNORE
.- See Also:
-