Overview of the default parameter settings:
{
"jdbc" :{
"strategy" : "simple",
"url" : null,
"user" : null,
"password" : null,
"sql" : null,
"schedule" : null,
"poolsize" : 1,
"rounding" : null,
"scale" : 2,
"autocommit" : false,
"fetchsize" : 10, /* Integer.MIN for MySQL */
"max_rows" : 0,
"max_retries" : 3,
"max_retries_wait" : "30s",
"locale" : Locale.getDefault().toLanguageTag(),
"index" : "jdbc",
"type" : "jdbc",
"bulk_size" : 100,
"max_bulk_requests" : 30,
"bulk_flush_interval" : "5s",
"index_settings" : null,
"type_mapping" : null
}
}
strategy -the strategy of the JDBC river, currently implemented: "simple", "column"
url - the JDBC URL
user - the JDBC database user
password - the JDBC database password
sql - SQL statement(s), either a string or a list. If a statement ends with .sql, the statement is looked up in the file system. Example for a list of SQL statements:
"sql" : [
{
"statement" : "select ... from ... where a = ?, b = ?, c = ?",
"parameter" : [ "value for a", "value for b", "value for c" ],
"callable" : false
},
{
"statement" : ...
}
]
parameter - bind parameters for the SQL statement (in order)
callable - boolean flag, if true, the SQL statement is interpreted as a JDBC CallableStatement (default: false)
schedule - a cron expression for scheduled execution. Syntax is equivalent to the Quartz cron expression format and is documented at http://jprante.github.io/elasticsearch-river-jdbc/apidocs/org/xbib/elasticsearch/river/jdbc/support/cron/CronExpression.html
poolsize - the pool size of the thread pool that executes the scheduled SQL statements
rounding - rounding mode for numeric values: "ceiling", "down", "floor", "halfdown", "halfeven", "halfup", "unnecessary", "up"
scale - the precision of the numeric values
autocommit - true if each statement should be automatically executed
fetchsize - the fetchsize for large result sets, most drivers implement fetchsize to control the amount of rows in the buffer while iterating through the result set
max_rows - limit the number of rows fetches by a statement, the rest of the rows is ignored
max_retries - the number of retries to (re)connect to a database
max_retries_wait - the time that should be waited between retries
locale - the default locale (used for parsing numerical values, floating point character)
index - the Elasticsearch index used for indexing the data from JDBC
type - the Elasticsearch type of the index used for indexing the data from JDBC
bulk_size - the length of each bulk index request submitted
max_bulk_requests - the maximum number of concurrent bulk requests
bulk_flush_interval - the time period the bulk processor is flushing outstanding documents
index_settings - optional settings for the Elasticsearch index
type_mapping - optional mapping for the Elasticsearch index type