19. Elasticsearch
19.1. Elasticsearch Version Support
The driver models Elasticsearch data as a read/write, relational database. The driver can connect to Elasticsearch v2.2.0 and above via the REST API.
 
19.2. Connection Options
19.2.1. Authentication
Property
Description
AuthScheme
The scheme used for authentication. Accepted entries are None, Basic, Negotiate (Kerberos), AwsRootKeys, AwsIAMRoles, and APIKey. None is the default.
User
The user who is authenticating to Elasticsearch.
Password
The password used to authenticate to Elasticsearch.
Server
The host name or IP address of the Elasticsearch REST server.
Port
The port for the Elasticsearch REST server.
APIKey
The APIKey used to authenticate to Elasticsearch.
APIKeyId
The APIKey Id to authenticate to Elasticsearch.
19.2.2. Connection
Property
Description
DataModel
Specifies the data model to use when parsing Elasticsearch documents and generating the database metadata.
19.2.3. AWS Authentication
Property
Description
AWSAccessKey
Your AWS account access key. This value is accessible from your AWS security credentials page.
AWSSecretKey
Your AWS account secret key. This value is accessible from your AWS security credentials page.
AWSRoleARN
The Amazon Resource Name of the role to use when authenticating.
AWSRegion
The hosting region for your Amazon Web Services.
AWSSessionToken
Your AWS session token.
TemporaryTokenDuration
The amount of time (in seconds) an AWS temporary token will last.
19.2.4. Kerberos
Property
Description
KerberosKDC
The Kerberos Key Distribution Center (KDC) service used to authenticate the user.
KerberosRealm
The Kerberos Realm used to authenticate the user with.
KerberosSPN
The service principal name (SPN) for the Kerberos Domain Controller.
KerberosKeytabFile
The Keytab file containing your pairs of Kerberos principals and encrypted keys.
KerberosServiceRealm
The Kerberos realm of the service.
KerberosServiceKDC
The Kerberos KDC of the service.
KerberosTicketCache
The full file path to an MIT Kerberos credential cache file.
19.2.5. SSL
Property
Description
SSLClientCert
The TLS/SSL client certificate store for SSL Client Authentication (2-way SSL).
SSLClientCertType
The type of key store containing the TLS/SSL client certificate.
SSLClientCertPassword
The password for the TLS/SSL client certificate.
SSLClientCertSubject
The subject of the TLS/SSL client certificate.
SSLServerCert
The certificate to be accepted from the server when connecting using TLS/SSL.
19.2.6. Firewall
Property
Description
FirewallType
The protocol used by a proxy-based firewall.
FirewallServer
The name or IP address of a proxy-based firewall.
FirewallPort
The TCP port for a proxy-based firewall.
FirewallUser
The user name to use to authenticate with a proxy-based firewall.
FirewallPassword
A password used to authenticate to a proxy-based firewall.
19.2.7. Proxy
Property
Description
ProxyAutoDetect
This indicates whether to use the system proxy settings or not. This takes precedence over other proxy settings, so you'll need to set ProxyAutoDetect to FALSE in order use custom proxy settings.
ProxyServer
The hostname or IP address of a proxy to route HTTP traffic through.
ProxyPort
The TCP port the ProxyServer proxy is running on.
ProxyAuthScheme
The authentication type to use to authenticate to the ProxyServer proxy.
ProxyUser
A user name to be used to authenticate to the ProxyServer proxy.
ProxyPassword
A password to be used to authenticate to the ProxyServer proxy.
ProxySSLType
The SSL type to use when connecting to the ProxyServer proxy.
ProxyExceptions
A semicolon separated list of destination hostnames or IPs that are exempt from connecting through the ProxyServer .
19.2.8. Logging
Property
Description
Logfile
A filepath which designates the name and location of the log file.
Verbosity
The verbosity level that determines the amount of detail included in the log file.
LogModules
Core modules to be included in the log file.
MaxLogFileSize
A string specifying the maximum size in bytes for a log file (for example, 10 MB).
MaxLogFileCount
A string specifying the maximum file count of log files.
19.2.9. Schema
Property
Description
Location
A path to the directory that contains the schema files defining tables, views, and stored procedures.
BrowsableSchemas
This property restricts the schemas reported to a subset of the available schemas. For example, BrowsableSchemas=SchemaA,SchemaB,SchemaC.
Tables
This property restricts the tables reported to a subset of the available tables. For example, Tables=TableA,TableB,TableC.
Views
Restricts the views reported to a subset of the available tables. For example, Views=ViewA,ViewB,ViewC.
FlattenObjects
Set FlattenObjects to true to flatten object properties into columns of their own. Otherwise, objects nested in arrays are returned as strings of JSON.
FlattenArrays
Set FlattenArrays to the number of nested array elements you want to return as table columns. By default, nested arrays are returned as strings of JSON.
19.2.10. Caching
Property
Description
AutoCache
Automatically caches the results of SELECT queries into a cache database specified by either CacheLocation or both of CacheConnection and CacheProvider .
CacheDriver
The database driver to be used to cache data.
CacheConnection
The connection string for the cache database. This property is always used in conjunction with CacheProvider . Setting both properties will override the value set for CacheLocation for caching data.
CacheLocation
Specifies the path to the cache when caching to a file.
CacheTolerance
The tolerance for stale data in the cache specified in seconds when using AutoCache .
Offline
Use offline mode to get the data from the cache instead of the live source.
CacheMetadata
This property determines whether or not to cache the table metadata to a file store.
19.2.11. Miscellaneous
Property
Description
BatchSize
The maximum size of each batch operation to submit.
ClientSideEvaluation
Set ClientSideEvaluation to true to perform Evaluation client side on nested objects.
ConnectionLifeTime
The maximum lifetime of a connection in seconds. Once the time has elapsed, the connection object is disposed.
ConnectOnOpen
This property species whether to connect to the Elasticsearch when the connection is opened.
GenerateSchemaFiles
Indicates the user preference as to when schemas should be generated and saved.
MaxResults
The maximum number of total results to return from Elasticsearch when using the default Search API.
MaxRows
Limits the number of rows returned rows when no aggregation or group by is used in the query. This helps avoid performance issues at design time.
Other
These hidden properties are used only in specific use cases.
PageSize
The number of results to return per request from Elasticsearch.
PoolIdleTimeout
The allowed idle time for a connection before it is closed.
PoolMaxSize
The maximum connections in the pool.
PoolMinSize
The minimum number of connections in the pool.
PoolWaitTime
The max seconds to wait for an available connection.
PseudoColumns
This property indicates whether or not to include pseudo columns as columns to the table.
QueryPassthrough
This option allows you to pass exact queries to Elasticsearch.
Readonly
You can use this property to enforce read-only access to Elasticsearch from the provider.
RowScanDepth
The maximum number of rows to scan when generating table metadata. Set this property to gain more control over how the provider detects arrays.
RTK
The runtime key used for licensing.
ScrollDuration
Specifies the time unit to use when retrieving results via the Scroll API.
SupportEnhancedSQL
This property enhances SQL functionality beyond what can be supported through the API directly, by enabling in-memory client-side processing.
Timeout
The value in seconds until the timeout error is thrown, canceling the operation.
UseConnectionPooling
This property enables connection pooling.