Elasticsearch
A presentation at Duchess Lunch in February 2019 in Paris, France by David Pilato
Elasticsearch
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
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
https://www.elastic.co/fr/subscriptions
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
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
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
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
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
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
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
!12 !12
!13 !13
!14 !14
User Interface !15
Search engine? • Moteur d’indexation de documents • Moteur de recherche dans les index !16
Demo time! !17
!18
elasticfr @elasticfr discuss.elastic.co