Elastic Stack Overview Search. Observe. Protect.
A presentation at BBL LittleBigCode (Private Event) in February 2022 in by David Pilato
Elastic Stack Overview Search. Observe. Protect.
Who? $ curl http://localhost:9200/speaker/_doc/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
The Elastic Platform Enterprise Search Observability Security Kibana Explore, Visualize, Engage Elasticsearch Store, Search, Analyze Integrations Connect, Collect, Alert Public cloud Hybrid On-premises
FILEBEAT MASTER (3) METRICBEAT PACKETBEAT WINGLOBEAT AUDITBEAT HEARTBEAT CUSTOM UI INGEST (X) Coordinating (X) DATA - HOT (X) FUNCTION BEAT KAFKA ELASTICSEARCH CLIENTS DATA - WARM (X) REDIS DATA STORE SOCIAL 4 WEB APIS SENSORS MESSAGING QUEUE WORKERS (2+) ALERTING (X) MACHINE LEARNING (2+) INSTANCES (X)
Baptiste Leduc Feb 11 13 00 UTC | 14 00 CET | 08 00 EST
Yoann Rodière Feb 11 13 30 UTC | 14 30 CET | 08 30 EST
Lucian Precup Feb 11 14 00 UTC | 15 00 CET | 09 00 EST
Aline Paponaud Mouhcine Boutinzer Feb 11 14 30 UTC | 15 30 CET | 09 30 EST
Raed Ben Haj Gacem Feb 11 14 40 UTC | 15 40 CET | 09 40 EST
Benjamin Dauvissat Feb 11 14 50 UTC | 15 50 CET | 09 50 EST
Nicolas Béjean Feb 11 15 00 UTC | 16 00 CET | 10 00 EST
Aline Paponaud Lucian Precup Feb 11 15 30 UTC | 16 30 CET | 10 30 EST
Shay Banon Simon Willnauer Uri Boness Steven Schuurman Feb 11 16 00 UTC | 17 00 CET | 11 00 EST
Leah Sutton Feb 11 16 25 UTC | 17 25 CET | 11 25 EST
Shay Banon Feb 11 16 30 UTC | 17 30 CET | 11 30 EST
A typical search implementation… 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 Doctolib’); INSERT INTO user VALUES (‘David David’, ‘Who is that guy?’); David 19
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 Doctolib’); INTO user VALUES (‘David David’, ‘Who is that guy?’); SELECT * FROM user WHERE name=”David”; Empty set (0,00 sec) David 20
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 Doctolib’); 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 Doctolib | | David David | Who is that guy? | +———————+———————————+ David 21
Search for 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 Doctolib’); INTO user VALUES (‘David David’, ‘Who is that guy?’); SELECT * FROM user WHERE name LIKE “%David Pilato%”; +———————+———————————+ | name | comments | +———————+———————————+ | David Pilato | Developer at elastic | +———————+———————————+ David Pilato 22
Search 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 Doctolib’); INTO user VALUES (‘David David’, ‘Who is that guy?’); SELECT * FROM user WHERE name LIKE “%Pilato David%”; Empty set (0,00 sec) SELECT * FROM user WHERE name LIKE “%Pilato%David%”; Empty set (0,00 sec) Pilato David 23
Search for 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 Doctolib’); INTO user VALUES (‘David David’, ‘Who is that guy?’); SELECT * FROM user WHERE name LIKE “%David%” AND name LIKE “%Pilato%”; +———————+———————————+ | name | comments | +———————+———————————+ | David Pilato | Developer at elastic | +———————+———————————+ Pilato David 24
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 Doctolib’); 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 Doctolib | | David David | Who is that guy? | +———————+——————————————————————-+ David 25
Search with typos 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 Doctolib’); INTO user VALUES (‘David David’, ‘Who is that guy?’); SELECT * FROM user WHERE name LIKE “%Dadid%”; Empty set (0,00 sec) Dadid 27
Search with typos 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 Doctolib’); INTO user VALUES (‘David David’, ‘Who is that guy?’); SELECT * FROM user WHERE name LIKE “%adid%” OR name LIKE “%D_did%” OR name LIKE “%Da_id%” OR name LIKE “%Dad_d%” OR name LIKE “%Dadi%”; +———————+———————————+ | name | comments | +———————+———————————+ | David Pilato | Developer at elastic | | David Gageot | Engineer at Doctolib | | David David | Who is that guy? | +———————+———————————+ 28
User Interface 30
Search engine? Moteur d’indexation de documents Moteur de recherche dans les index 31
Demo time!
The Elastic Platform Enterprise Search Observability Security Kibana Explore, Visualize, Engage Elasticsearch Store, Search, Analyze Integrations Connect, Collect, Alert Public cloud Hybrid On-premises
Elastic Enterprise Search Enterprise Search Observability Security Kibana Explore, Visualize, Engage Elasticsearch Store, Search, Analyze Integrations Connect, Collect, Alert Public cloud Hybrid On-premises
ELASTIC ENTERPRISE SEARCH Search everything, anywhere Easily implement powerful, modern search experiences across your website, app, or digital workplace. Search it all, simply.
Elastic Observability Enterprise Search Observability Security Kibana Explore, Visualize, Engage Elasticsearch Store, Search, Analyze Integrations Connect, Collect, Alert Public cloud Hybrid On-premises
ELASTIC OBSERVABILITY Unified visibility across your entire ecosystem Bring your logs, metrics, and traces together into a single stack so you can monitor, detect, and react to events with speed.
Elastic Security Enterprise Search Observability Security Kibana Explore, Visualize, Engage Elasticsearch Store, Search, Analyze Integrations Connect, Collect, Alert Public cloud Hybrid On-premises
ELASTIC SECURITY Security how it should be: open Elastic Security integrates endpoint security and SIEM to give you prevention, collection, detection, and response capabilities for unified protection across your infrastructure.
Searching for Rides
Searching for Restaurants
Searching for Love
ElasticFR https://community.elastic.co/france @elasticfr discuss.elastic.co