4. Un moteur de recherche
pour quoi faire ?
● cas d’école : site de e-commerce
● mais aussi réseaux sociaux, sites de
streaming … sites à “contenus”.
● pour apporter de la recherche “Google like”
à nos utilisateurs de SI.
7. Elastic Search vs Solr
API Scalabilité Communauté
SIMPLICITE
Recherche
8. Use Case
Magasin de livres en ligne.
curl -XPUT 'http://localhost:9200/store/book/1' -d
'{
"titre" : "H2G2 Le Guide du voyageur galactique, Tome 1 Le guide du voyageur galactique",
"auteur" : ["Douglas Adams"],
"editeur" : "Gallimard",
"genre" : "Science-Fiction",
"ISBN" : "2070437434",
"date de parution" : "11/03/2010",
"prix" : "6.27"
}'
20. Les analyseurs
● Un tokenizer retourne une liste de tokens.
● Un filtre va modifier ou supprimer un token.
● Un analyzer = tokenizer + 0 … *
tokenFilters.
29. Résultat
L’indexation repose sur un Analyzer, qui n’est autre qu’un
ensemble de Tokenizers et de TokenFilters.
indexation repose analyzer autre ensemble tokenizers
tokenfilters
30. Le mapping
● Le mapping définit la façon dont les fields
seront indexés.
● Le mapping par défaut d’ES va gérer
dynamiquement tous les types.
● Mais il peut parfois être utile de définir soi
même le mapping ...
31. Les fields
_uid id + type
_id id
type field type du document
_source JSON passé à l’indexation
_all tous les champs
_analyzer l’analyseur à utiliser pour indexer le document
_ttl date d’expiration (time to live)
...
32. Les types
String Objects
Integer / Long Multi Fields
Float / Double IP
Boolean Geo Point
Date Geo Shape
Null attachment
Array ...
34. Step 3/ Je recherche !
Où l’on va parler ...
● query
● filters
● facets
● mais aussi sort, pagination, boost, score ...
35. Contenu de l’index
science fiction
fantasy
jeunesse
Livres
Comics
aventure
fantasy
Auteurs
YX Z
Y
Y
X
X
X
Y
Y
Y
X
X
Z
Y
Y
Y
X
X
X
X
X
X
X
X
X
X
X
X
X
X
Z
Z
Z
Z