Introduction à Elasticsearch

A presentation at Elastic Abidjan User Group in May 2021 in Abidjan, Côte d'Ivoire by David Pilato

Slide 1

Slide 1

Elastic Stack Overview Search. Observe. Protect.

Slide 2

Slide 2

$ 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 { Who?

Slide 3

Slide 3

The Elastic Stack Reliably and securely take data from any source, in any format, then search, analyze, and visualize it in real time.

Slide 4

Slide 4

FILEBEAT MASTER (3) METRICBEA T 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)

Slide 5

Slide 5

Slide 6

Slide 6

CREATE TABLE use name VARCHAR(100) comments VARCHAR(1000 ) 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?’); David ; ; ) ; , r 6 ; ( A typical search implementation…

Slide 7

Slide 7

Search on term INSERT INTO user VALUES (‘David Pilato’, ‘Developer at elastic’) Empty set (0,00 sec) David ; 7

Slide 8

Slide 8

Search like INSERT INTO user VALUES (‘David Pilato’, ‘Developer at elastic’) +———————+——————————-| name | comments +———————+——————————-| David Pilato | Developer at elastic | David Gageot | Engineer at Google | David David | Who is that guy? +———————+——————————— David ; + | | | + | + 8

Slide 9

Slide 9

Search for terms INSERT INTO user VALUES (‘David Pilato’, ‘Developer at elastic’) +———————+——————————-| name | comments +———————+——————————-| David Pilato | Developer at elastic +———————+——————————— David Pilato ; + | + | + 9

Slide 10

Slide 10

Search with inverted terms INSERT INTO user VALUES (‘David Pilato’, ‘Developer at elastic’) Empty set (0,00 sec SELECT * FROM user WHERE name LIKE “%Pilato%David%” Empty set (0,00 sec Pilato David ; ; ) ) 10

Slide 11

Slide 11

Search for terms INSERT INTO user VALUES (‘David Pilato’, ‘Developer at elastic’) name LIKE “%Pilato%” +———————+——————————-| name | comments +———————+——————————-| David Pilato | Developer at elastic +———————+——————————— Pilato David ; + | + | + 11

Slide 12

Slide 12

Search in two fields INSERT INTO user VALUES (‘David Pilato’, ‘Developer at elastic’) 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? +———————+——————————————————————-+ David | | | | + | + ;

12

Slide 13

Slide 13

Slide 14

Slide 14

Search with typos INSERT INTO user VALUES (‘David Pilato’, ‘Developer at elastic’) Empty set (0,00 sec Dadid ; ) 14

Slide 15

Slide 15

Search with typos INSERT INTO user VALUES (‘David Pilato’, ‘Developer at elastic’) 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 Google | David David | Who is that guy? +———————+———————————+

; | | | + | + 15

Slide 16

Slide 16

Slide 17

Slide 17

User Interface 17

Slide 18

Slide 18

Search engine? Moteur d’indexation de documents Moteur de recherche dans les index 18

Slide 19

Slide 19

Demo time!