Elasticsearch

A presentation at BBL Hello Work (private event) in February 2019 in Rennes, France by David Pilato

Slide 1

Slide 1

Elasticsearch

Slide 2

Slide 2

Who? $ curl http://localhost:9200/talk/speaker/dpilato { “nom” : “David Pilato”, “jobs” : [ { “boite” : “SRA Europe (SSII)”, “mission” : “bon à tout faire”, “date” : “1995” }, { “boite” : “SFR”, “mission” : “touche à tout”, “date” : “1997” }, { “boite” : “e-Brands / Vivendi”, “mission” : “chef de projets”, “date”: “2000” }, { “boite” : “DGDDI (douane)”, “mission” : “mouton à 5 pattes”, “date” : “2005” }, { “boite” : “IDEO Technologies”, “mission” : “CTO”, “date” : “2012” }, { “boite” : “elastic”, “mission” : “développeur”, “date” : “2013” } ], “passions” : [ “famille”, “job”, “deejay” ], “blog” : “http://david.pilato.fr/”, “twitter” : [ “@dadoonet”, “@elasticfr” ], “email” : “david@pilato.fr” } !2

Slide 3

Slide 3

App Search Site Search Enterprise Search APM Business Analytics Metrics Elastic Stack Logging Future Security Analytics Solutions Kibana Visualize & Manage Elasticsearch Store, Search, & Analyze Beats SaaS Elastic Cloud Logstash Ingest Self Managed Standalone Elastic Cloud Enterprise Deployment

Slide 4

Slide 4

https://www.elastic.co/fr/subscriptions

Slide 5

Slide 5

Support Training Architecture / Index / Shard Design Become an Elastic Stack expert. Cluster Management & Fine Tuning Hands on technical and operational courses. Public courses around the world. Private courses on request. Query Performance Optimization Dev to Production Migration & Upgrades Elastic Stack and X-Pack Best Practices Experienced Support Engineers Consulting Accelerate your team’s success. Work with our consultants at any phase of your implementation – prototype, design, development, migration, and optimization. Included in Elastic Subscription Packages; More than traditional technical support !5

Slide 6

Slide 6

Some data CREATE TABLE user ( name VARCHAR(100), comments VARCHAR(1000) ); INSERT INTO user VALUES (‘David Pilato’, ‘Developer at elastic’); INSERT INTO user VALUES (‘Malloum Laya’, ‘Worked with David at french customs service’); INSERT INTO user VALUES (‘David Gageot’, ‘Engineer at Google’); INSERT INTO user VALUES (‘David David’, ‘Who is that guy?’); !6

Slide 7

Slide 7

Search on term INSERT INSERT french INSERT INSERT INTO user VALUES (‘David Pilato’, ‘Developer at elastic’); INTO user VALUES (‘Malloum Laya’, ‘Worked with David at customs service’); INTO user VALUES (‘David Gageot’, ‘Engineer at Google’); INTO user VALUES (‘David David’, ‘Who is that guy?’); SELECT * FROM user WHERE name=”David”; Empty set (0,00 sec) !7

Slide 8

Slide 8

Search like INSERT INSERT french INSERT INSERT INTO user VALUES (‘David Pilato’, ‘Developer at elastic’); INTO user VALUES (‘Malloum Laya’, ‘Worked with David at customs service’); INTO user VALUES (‘David Gageot’, ‘Engineer at Google’); INTO user VALUES (‘David David’, ‘Who is that guy?’); SELECT * FROM user WHERE name LIKE “%David%”; +———————+———————————+ | name | comments | +———————+———————————+ | David Pilato | Developer at elastic | | David Gageot | Engineer at Google | | David David | Who is that guy? | +———————+———————————+ !8

Slide 9

Slide 9

Search like INSERT INSERT french INSERT INSERT INTO user VALUES (‘David Pilato’, ‘Developer at elastic’); INTO user VALUES (‘Malloum Laya’, ‘Worked with David at customs service’); INTO user VALUES (‘David Gageot’, ‘Engineer at Google’); INTO user VALUES (‘David David’, ‘Who is that guy?’); SELECT * FROM user WHERE name LIKE “%David%Pilato%”; +———————+———————————+ | name | comments | +———————+———————————+ | David Pilato | Developer at elastic | +———————+———————————+ !9

Slide 10

Slide 10

Search like with inverted terms INSERT INSERT french INSERT INSERT INTO user VALUES (‘David Pilato’, ‘Developer at elastic’); INTO user VALUES (‘Malloum Laya’, ‘Worked with David at customs service’); INTO user VALUES (‘David Gageot’, ‘Engineer at Google’); INTO user VALUES (‘David David’, ‘Who is that guy?’); SELECT * FROM user WHERE name LIKE “%Pilato%David%”; Empty set (0,00 sec) !10

Slide 11

Slide 11

Search in two fields INSERT INSERT french INSERT INSERT INTO user VALUES (‘David Pilato’, ‘Developer at elastic’); INTO user VALUES (‘Malloum Laya’, ‘Worked with David at customs service’); INTO user VALUES (‘David Gageot’, ‘Engineer at Google’); INTO user VALUES (‘David David’, ‘Who is that guy?’); SELECT * FROM user WHERE name LIKE “%David%” OR comments LIKE “%David%”; +———————+——————————————————————-+ | name | comments | +———————+——————————————————————-+ | David Pilato | Developer at elastic | | Malloum Laya | Worked with David at french customs service | | David Gageot | Engineer at Google | | David David | Who is that guy? | +———————+——————————————————————-+ !11

Slide 12

Slide 12

!12 !12

Slide 13

Slide 13

!13 !13

Slide 14

Slide 14

!14 !14

Slide 15

Slide 15

User Interface !15

Slide 16

Slide 16

Search engine? • Moteur d’indexation de documents • Moteur de recherche dans les index !16

Slide 17

Slide 17

Demo time! !17

Slide 18

Slide 18

!18

Slide 19

Slide 19

Slide 20

Slide 20

Slide 21

Slide 21

elasticfr @elasticfr discuss.elastic.co