Class ElasticsearchBackendSettings
- java.lang.Object
-
- org.hibernate.search.backend.elasticsearch.cfg.ElasticsearchBackendSettings
-
public final class ElasticsearchBackendSettings extends Object
Configuration properties for Elasticsearch backends.Constants in this class are to be appended to a prefix to form a property key; see
BackendSettingsfor details.- Author:
- Gunnar Morling
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classElasticsearchBackendSettings.DefaultsDefault values for the different settings if no values are given.
-
Field Summary
Fields Modifier and Type Field Description static StringCLIENT_CONFIGURERAElasticsearchHttpClientConfigurerthat defines custom HTTP client configuration.static StringCONNECTION_TIMEOUTThe timeout when establishing a connection to an Elasticsearch server.static StringDISCOVERY_ENABLEDWhether automatic discovery of nodes in the Elasticsearch cluster is enabled.static StringDISCOVERY_REFRESH_INTERVALThe time interval between two executions of the automatic discovery, if enabled.static StringHOSTSThe hostname and ports of the Elasticsearch servers to connect to.static StringLAYOUT_STRATEGYHow to determine index names and aliases.static StringLOG_JSON_PRETTY_PRINTINGWhether JSON included in logs should be pretty-printed (indented, with line breaks).static StringMAPPING_TYPE_NAME_STRATEGYHow to map documents to their type name, i.e.static StringMAX_CONNECTIONSThe maximum number of simultaneous connections to the Elasticsearch cluster, all hosts taken together.static StringMAX_CONNECTIONS_PER_ROUTEThe maximum number of simultaneous connections to each host of the Elasticsearch cluster.static StringMAX_KEEP_ALIVEHow long connections to the Elasticsearch cluster can be kept idle.static StringMULTI_TENANCY_STRATEGYHow to implement multi-tenancy.static StringPASSWORDThe password to send when connecting to the Elasticsearch servers (HTTP authentication).static StringPATH_PREFIXProperty for specifying the path prefix prepended to the request end point.static StringPROTOCOLThe protocol to use when connecting to the Elasticsearch servers.static StringQUERY_SHARD_FAILURE_IGNOREThis property defines if partial shard failures are ignored.static StringREAD_TIMEOUTThe timeout when reading responses from an Elasticsearch server.static StringREQUEST_TIMEOUTThe timeout when executing a request to an Elasticsearch server.static StringSCROLL_TIMEOUTProperty for specifying the maximum duration ascrollwill be usable if no other results are fetched from Elasticsearch.static StringTHREAD_POOL_SIZEThe size of the thread pool assigned to the backend.static StringTYPE_NAMEThe value to set thebackend typeconfiguration property in order to get an Elasticsearch backend instantiated by Hibernate Search.static StringURISThe protocol, hostname and ports of the Elasticsearch servers to connect to.static StringUSERNAMEThe username to send when connecting to the Elasticsearch servers (HTTP authentication).static StringVERSIONThe version of Elasticsearch running on the Elasticsearch cluster.static StringVERSION_CHECK_ENABLEDWhether check version of the Elasticsearch cluster is enabled.
-
-
-
Field Detail
-
TYPE_NAME
public static final String TYPE_NAME
The value to set thebackend typeconfiguration 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:
- Constant Field Values
-
HOSTS
public static final String HOSTS
The hostname and ports of the Elasticsearch servers to connect to.Expects a String representing a hostname and port such as
localhostores.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
URISwill lead to an exception being thrown on startup.Defaults to
ElasticsearchBackendSettings.Defaults.HOSTS.- See Also:
- Constant Field Values
-
PROTOCOL
public static final String PROTOCOL
The protocol to use when connecting to the Elasticsearch servers.Expects a String: either
httporhttps.Setting this property at the same time as
URISwill lead to an exception being thrown on startup.Defaults to
ElasticsearchBackendSettings.Defaults.PROTOCOL.- See Also:
- Constant Field Values
-
URIS
public static final String URIS
The protocol, hostname and ports of the Elasticsearch servers to connect to.Expects either a String representing an URI such as
http://localhostorhttps://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
HOSTSorPROTOCOLwill lead to an exception being thrown on startup.Defaults to
http://localhost:9200, unlessHOSTSorPROTOCOLare set, in which case they take precedence.- See Also:
- Constant Field Values
-
PATH_PREFIX
public static final String 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:
- Constant Field Values
-
VERSION
public static final String VERSION
The version of Elasticsearch running on the Elasticsearch cluster.Expects either an
ElasticsearchVersionobject, or a String that can beparsedin 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:
- Constant Field Values
-
VERSION_CHECK_ENABLED
public static final String VERSION_CHECK_ENABLED
Whether check version of the Elasticsearch cluster is enabled.Expects a Boolean value such as
trueorfalse, or a string that can be parsed into a Boolean value.Defaults to
ElasticsearchBackendSettings.Defaults.VERSION_CHECK_ENABLED.- See Also:
- Constant Field Values
-
USERNAME
public static final String USERNAME
The username to send when connecting to the Elasticsearch servers (HTTP authentication).Expects a String.
Defaults to no username (anonymous access).
- See Also:
- Constant Field Values
-
PASSWORD
public static final String PASSWORD
The password to send when connecting to the Elasticsearch servers (HTTP authentication).Expects a String.
Defaults to no username (anonymous access).
- See Also:
- Constant Field Values
-
REQUEST_TIMEOUT
public static final String 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:
- Constant Field Values
-
READ_TIMEOUT
public static final String 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:
- Constant Field Values
-
CONNECTION_TIMEOUT
public static final String 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:
- Constant Field Values
-
MAX_CONNECTIONS
public static final String 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:
- Constant Field Values
-
MAX_CONNECTIONS_PER_ROUTE
public static final String 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:
- Constant Field Values
-
DISCOVERY_ENABLED
public static final String DISCOVERY_ENABLED
Whether automatic discovery of nodes in the Elasticsearch cluster is enabled.Expects a Boolean value such as
trueorfalse, or a string that can be parsed into a Boolean value.Defaults to
ElasticsearchBackendSettings.Defaults.DISCOVERY_ENABLED.- See Also:
- Constant Field Values
-
DISCOVERY_REFRESH_INTERVAL
public static final String 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:
- Constant Field Values
-
CLIENT_CONFIGURER
public static final String CLIENT_CONFIGURER
AElasticsearchHttpClientConfigurerthat 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
USERNAMEorMAX_CONNECTIONS_PER_ROUTE.Expects a reference to a bean of type
ElasticsearchHttpClientConfigurer.Defaults to no value.
- See Also:
- Constant Field Values
-
LOG_JSON_PRETTY_PRINTING
public static final String LOG_JSON_PRETTY_PRINTING
Whether JSON included in logs should be pretty-printed (indented, with line breaks).Expects a Boolean value such as
trueorfalse, or a string that can be parsed into a Boolean value.Defaults to
ElasticsearchBackendSettings.Defaults.LOG_JSON_PRETTY_PRINTING.- See Also:
- Constant Field Values
-
MULTI_TENANCY_STRATEGY
public static final String MULTI_TENANCY_STRATEGY
How to implement multi-tenancy.Expects a
MultiTenancyStrategyNamevalue, or a String representation of such value.Defaults to
ElasticsearchBackendSettings.Defaults.MULTI_TENANCY_STRATEGY.- See Also:
- Constant Field Values
-
MAPPING_TYPE_NAME_STRATEGY
public static final String 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
TypeNameMappingStrategyNamevalue, or a String representation of such value.Defaults to
ElasticsearchBackendSettings.Defaults.MAPPING_TYPE_NAME_STRATEGY.- See Also:
- Constant Field Values
-
LAYOUT_STRATEGY
public static final String LAYOUT_STRATEGY
How to determine index names and aliases.Expects a reference to a bean of type
IndexLayoutStrategy.Defaults to the
simplestrategy:- 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
- The non-alias name follows the format
-
THREAD_POOL_SIZE
public static final String 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:
- Constant Field Values
-
SCROLL_TIMEOUT
public static final String SCROLL_TIMEOUT
Property for specifying the maximum duration ascrollwill 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:
- Constant Field Values
-
MAX_KEEP_ALIVE
public static final String 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-Aliveheader, then the effective max idle time will be whichever is lower: the duration from theKeep-Aliveheader or the value of this property (if set).If this property is not set, only the
Keep-Aliveheader is considered, and if it's absent, idle connections will be kept forever.- See Also:
- Constant Field Values
-
QUERY_SHARD_FAILURE_IGNORE
public static final String 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
trueorfalse, or a string that can be parsed into a Boolean value.Defaults to
ElasticsearchBackendSettings.Defaults.QUERY_SHARD_FAILURE_IGNORE.- See Also:
- Constant Field Values
-
-