The Java Database Connection (JDBC) river allows to fetch data from JDBC sources for indexing into Elasticsearch.
It is implemented as an Elasticsearch plugin.
The relational data is internally transformed into structured JSON objects for the schema-less indexing model in Elasticsearch.
Creating a JDBC river is easy:
curl -XPUT 'localhost:9200/_river/my_jdbc_river/_meta' -d '{ "type" : "jdbc", "jdbc" : { "driver" : "com.mysql.jdbc.Driver", "url" : "jdbc:mysql://localhost:3306/test", "user" : "", "password" : "", "sql" : "select * from orders" } }'
Prerequisites:
Elasticsearch 0.20+ / 0.90.0.Beta1+ a JDBC driver jar of your database
ES version | Plugin | Release date | Command |
0.20+ | 2.0.3 | February 12, 2013 | ./bin/plugin -url http://bit.ly/Yp2Drj -install river-jdbc |
0.90.0.Beta1+ | 2.2.0 | February 28, 2013 | ./bin/plugin -url http://bit.ly/145e9Ly -install river-jdbc |
Bintray:
https://bintray.com/pkg/show/general/jprante/elasticsearch-plugins/elasticsearch-river-jdbc
RiverSource, RiverMouth, RiverFlow
Setting up the river with PostgreSQL
Elasticsearch JDBC River Plugin
Copyright (C) 2012,2013 Jörg Prante
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.