Chapitre 1 : Créer l'Index et son Mapping
Index, Mapping, Schema, Types de données
Définition du Mapping
Un "mapping" définit la structure de nos données. C'est comme le schéma d'une table en SQL. Il indique à OpenSearch si un champ est du texte, un nombre, une date, etc. C'est crucial pour la pertinence des recherches.
Copiez-collez cette commande dans les Dev Tools et exécutez-la (icône "play").
PUT /recettes
{
"mappings": {
"properties": {
"titre": { "type": "text" },
"description": { "type": "text" },
"temps_preparation_min": { "type": "integer" },
"type_plat": { "type": "keyword" },
"ingredients": {
"type": "nested",
"properties": {
"nom": { "type": "text" },
"quantite": { "type": "keyword" }
}
},
"tags": { "type": "keyword" }
}
}
}
Explication des types
- text: Pour du texte qui sera analysé (découpé en mots, mis en minuscules...). Idéal pour les titres et descriptions.
- keyword: Pour du texte qui doit être traité comme une valeur exacte. Parfait pour les tags ou les catégories.
- integer: Pour un nombre entier.
- nested: Pour une liste d'objets (nos ingrédients). Cela permet de les interroger de manière indépendante.