The JDBC driver can be obtained either by downloading it from the https://www.elastic.co/downloads/jdbc-client[elastic.co] site or by using a http://maven.apache.org/[Maven]-compatible tool with the following dependency:
<2> type of HTTP connection to make - `http` (default) or `https`. Optional.
<3> host (`localhost` by default) and port (`9200` by default). Optional.
<4> prefix (empty by default). Typically used when hosting {es} under a certain path. Optional.
<5> Parameters for the JDBC driver. Empty by default. Optional.
The driver recognized the following parameters:
[[jdbc-cfg]]
[float]
===== Essential
`timezone` (default JVM timezone)::
Timezone used by the driver _per connection_ indicated by its `ID`.
*Highly* recommended to set it (to, say, `UTC`) as the JVM timezone can vary, is global for the entire JVM and can't be changed easily when running under a security manager.
[[jdbc-cfg-network]]
[float]
===== Network
`connect.timeout` (default 30s)::
Connection timeout (in seconds). That is the maximum amount of time waiting to make a connection to the server.
`network.timeout` (default 60s)::
Network timeout (in seconds). That is the maximum amount of time waiting for the network.
`page.timeout` (default 45s)::
Page timeout (in seconds). That is the maximum amount of time waiting for a page.
`page.size` (default 1000)::
Page size (in entries). The number of results returned per page by the server.
`query.timeout` (default 90s)::
Query timeout (in seconds). That is the maximum amount of time waiting for a query to return.
[[jdbc-cfg-auth]]
[float]
==== Basic Authentication
`user`:: Basic Authentication user name
`password`:: Basic Authentication password
[[jdbc-cfg-ssl]]
[float]
==== SSL
`ssl` (default false):: Enable SSL
`ssl.keystore.location`:: key store (if used) location
`ssl.keystore.pass`:: key store password
`ssl.keystore.type` (default `JKS`):: key store type. `PKCS12` is a common, alternative format
`ssl.truststore.location`:: trust store location
`ssl.truststore.pass`:: trust store password
`ssl.cert.allow.self.signed` (default `false`):: Whether or not to allow self signed certificates
`ssl.protocol`(default `TLS`):: SSL protocol to be used