Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Advanced search for your Legacy application - N...
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Elastic Co
May 13, 2016
Programming
140
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Advanced search for your Legacy application - Ncrafts
Talk given at NCrafts 2016, Paris
http://ncrafts.io/speaker/dadoonet#nc16-dpi01
Elastic Co
May 13, 2016
More Decks by Elastic Co
See All by Elastic Co
Les Vendredis noirs : même pas peur ! - Breizhcamp
elastic
15
1.1k
Confoo Montreal: Ingest node: enriching documents within Elasticsearch
elastic
16
1k
Elastic{ON} 2018 - Sipping from the Firehose: Scalable Endpoint Data for Incident Response
elastic
6
4.3k
Elastic{ON} 2018 - A Security Analytics Platform for Today
elastic
3
11k
Elastic{ON} 2018 - The State of Geo in Elasticsearch
elastic
7
12k
Elastic{ON} 2018 - Reliable by design - Applying formal methods to distributed systems
elastic
5
4.9k
Elastic{ON} 2018 - Bigger, Faster, Stronger - Leveling Up Enterprise Logging
elastic
1
5.1k
Elastic{ON} 2018: Latest in Logstash
elastic
1
4.6k
Elastic{ON} 2018 - Lessons Learned from Workday's Search Application Journey from POC to Production
elastic
2
2.5k
Other Decks in Programming
See All in Programming
Apache Hive: Toward a Cloud Native Lakehouse
okumin
0
180
5分で問診!Composer セキュリティ健康診断
codmoninc
0
880
VibeCodingからAgenticWorkflowへ
starfish719
0
280
琵琶湖の水は止められてもNet--HTTPのリトライは止められない / You might be able to stop the water flow of Lake Biwa but you can't stop Net::HTTP retries
luccafort
PRO
0
590
<title><a id="</title>君はこのHTMLをパースできるか"></a></title> #雑LT_study
pizzacat83
0
140
ビデオ通話が繋がる0.2秒で何が起きているのか
supurazako
2
180
PHP初心者セッション2026 〜生成AIでは見えない裏側を知る:今だからLAMPを通して仕組みを学ぶ〜
kashioka
0
850
Laravel Boostに学ぶ、AIにPHPを書かせる技術 〜OSSの実装から蒸留するエージェント制御の王道〜
kentaroutakeda
3
670
Claude Code全社展開のためにやったことn選~プラグイン302個・コミッター271人を支えるために~
kenchan
5
1.4k
『コードを書く以外の』エンジニアリング〜課金基盤移行プロジェクト推進のためのTips4選
yuriko1211
0
580
Lean は証明の正しさを確認するためだけのツールって思ってませんか?
inoueasei
1
140
AI時代に設計が 最大の生産性レバーになる 意図駆動開発とデータを消さない設計|Don't Delete Your Data or Your Intent — Design as the Deepest Lever in the AI Era
tomohisa
1
700
Featured
See All Featured
Skip the Path - Find Your Career Trail
mkilby
1
180
Navigating Weather and Climate Data
rabernat
0
450
Claude Code のすすめ
schroneko
67
230k
Building Adaptive Systems
keathley
44
3.2k
Jess Joyce - The Pitfalls of Following Frameworks
techseoconnect
PRO
1
330
Raft: Consensus for Rubyists
vanstee
141
7.6k
Visual Storytelling: How to be a Superhuman Communicator
reverentgeek
2
610
Data-driven link building: lessons from a $708K investment (BrightonSEO talk)
szymonslowik
1
1.2k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
2.9k
A better future with KSS
kneath
240
18k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.7k
Building the Perfect Custom Keyboard
takai
2
830
Transcript
‹#› Advanced search for your legacy application David Pilato Developer
| Evangelist @dadoonet
2
our legacy platform 3 WEB APP HTTP / REST JDBC
DATABASE SQL
our legacy domain / database 4
our legacy application 5 demo time $ git clone https://github.com/dadoonet/legacy-search.git
$ git checkout 00-legacy $ mvn clean install jetty:run
Connecting with our app Architecture 6
DATABASE SQL ETL using a ETL 7 WEB APP HTTP
/ REST JDBC ELASTICSEARCH REST / JSON
think document! • Change your mindset: ‒ Forget SQL! ‒
Index what you want to find • A document ‒ A JSON object ‒ Core field types (string, numbers, booleans) ‒ Complex field types (arrays, objects) ‒ Additional field types (geo points, geo shapes) 8
Do It Yourself Direct Connection 9
DATABASE SQL direct connection 10 WEB APP HTTP / REST
JDBC ES-CLIENT ELASTICSEARCH REST / JSON
JSON document design 11 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 }
JSON document design 12 PUT /person/person/1 { "name":"Joe Pink", "dateOfBirth":"1971-12-26",
"address":{ "city":"Paris", "country":"France" }, "marketing":{ "cars":1000, "food":1500 } }
direct connection 13 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
synchronous vs asynchronous 14
DATABASE SQL using brokers 15 WEB APP HTTP / REST
JDBC ES-CLIENT ELASTICSEARCH REST / JSON
ELASTICSEARCH REST / JSON using brokers 16 WEB APP HTTP
/ REST JDBC ES-CLIENT DATABASE SQL
ELASTICSEARCH REST / JSON using brokers 17 WEB APP HTTP
/ REST JDBC ES-CLIENT DATABASE SQL
‹#›
‹#›
‹#› thanks! David Pilato Developer | Evangelist @dadoonet https://www.elastic.co/subscriptions