Codemotion Rome 2015 - How do you mix SQL and NoSQL worlds without starting a messy revolution? This live coding talk will show you how to add Elasticsearch to your legacy application without changing all your current development habits. Your application will have suddenly have advanced search features, all without the need to write complex SQL code! David will start from a Spring, Hibernate and Postgresql based application and will add a complete integration of Elasticsearch, all live from the stage during his presentation.
Sales Territory Management: A Definitive Guide to Expand Sales Coverage
Advanced search for your legacy application - David Pilato - Codemotion Rome 2015
1. www.elastic.co Copyright Elastic 2015 Copying, publishing and/or
distributing without written permission is strictly prohibited
for your legacy app
advanced search
David Pilato
Developer | Evangelist
@dadoonet
2. www.elastic.co Copyright Elastic 2015 Copying, publishing and/or
distributing without written permission is strictly prohibited
our use case
3. www.elastic.co Copyright Elastic 2015 Copying, publishing and/or
distributing without written permission is strictly prohibited
our legacy platform
WEB APP
HTTP/REST
JDBC
DATABASE
SQL
4. www.elastic.co Copyright Elastic 2015 Copying, publishing and/or
distributing without written permission is strictly prohibited
our legacy domain / database
5. www.elastic.co Copyright Elastic 2015 Copying, publishing and/or
distributing without written permission is strictly prohibited
our legacy app
demo time
$ git clone https://github.com/dadoonet/legacy-search.git
$ git checkout 00-legacy
$ mvn clean install jetty:run
6. www.elastic.co Copyright Elastic 2015 Copying, publishing and/or
distributing without written permission is strictly prohibited
architecture
connecting with our app
7. www.elastic.co Copyright Elastic 2015 Copying, publishing and/or
distributing without written permission is strictly prohibited
ETL
using a ETL
DATABASE
SQL
WEB APP
HTTP/REST
JDBC
ELASTICSEARCH
REST/JSON
8. www.elastic.co Copyright Elastic 2015 Copying, publishing and/or
distributing without written permission is strictly prohibited
JDBC RIVER
JDBC river
DATABASE
SQL
WEB APP
HTTP/REST
JDBC
ELASTICSEARCH
REST/JSON
SQL JSON
9. www.elastic.co Copyright Elastic 2015 Copying, publishing and/or
distributing without written permission is strictly prohibited
JDBC river
DATABASE
SQL
WEB APP
HTTP/REST
JDBC
ELASTICSEARCH
REST/JSON
SQL
11. www.elastic.co Copyright Elastic 2015 Copying, publishing and/or
distributing without written permission is strictly prohibited
direct connection
Do It Yourself
12. www.elastic.co Copyright Elastic 2015 Copying, publishing and/or
distributing without written permission is strictly prohibited
direct connection
DATABASE
SQL
WEB APP
HTTP/REST
JDBC
ELASTICSEARCH
REST/JSON
ES-CLIENT
13. www.elastic.co Copyright Elastic 2015 Copying, publishing and/or
distributing without written permission is strictly prohibited
JSON document design
PUT /person/person/1
{
"name":"Joe Pink",
"dateOfBirth":"1971-12-26",
"address_id":"2",
"marketing_id":"3"
}
PUT /person/address/2
{
"city":"Paris",
"country":"France"
}
PUT /person/marketing/3
{
"cars":1000,
"food":1500
}
14. www.elastic.co Copyright Elastic 2015 Copying, publishing and/or
distributing without written permission is strictly prohibited
JSON document design
PUT /person/person/1
{
"name":"Joe Pink",
"dateOfBirth":"1971-12-26",
"address":{
"city":"Paris",
"country":"France"
},
"marketing":{
"cars":1000,
"food":1500
}
}
15. www.elastic.co Copyright Elastic 2015 Copying, publishing and/or
distributing without written permission is strictly prohibited
direct connection
demo time
$ git checkout 01-direct
$ git checkout 02-bulk
$ git checkout 03-mapping
$ git checkout 04-aggs
$ git checkout 05-compute
$ mvn clean install jetty:run
$ cat README.markdown
16. www.elastic.co Copyright Elastic 2015 Copying, publishing and/or
distributing without written permission is strictly prohibited
asynchronous
synchronous vs
17. www.elastic.co Copyright Elastic 2015 Copying, publishing and/or
distributing without written permission is strictly prohibited
using brokers
DATABASE
SQL
WEB APP
HTTP/REST
JDBC
ELASTICSEARCH
REST/JSON
ES-CLIENT
18. www.elastic.co Copyright Elastic 2015 Copying, publishing and/or
distributing without written permission is strictly prohibited
using brokers
DATABASE
SQL
WEB APP
HTTP/REST
JDBC
ELASTICSEARCH
REST/JSON
ES-CLIENT
19. www.elastic.co Copyright Elastic 2015 Copying, publishing and/or
distributing without written permission is strictly prohibited
using brokers
DATABASE
SQL
WEB APP
HTTP/REST
JDBC
ELASTICSEARCH
REST/JSON
ES-CLIENT
22. www.elastic.co Copyright Elastic 2015 Copying, publishing and/or
distributing without written permission is strictly prohibited
Grazie mille
David Pilato
Developer | Evangelist
@dadoonet
https://www.elastic.co/subscriptions