Analyse du dataset d'inspections sanitaires des restaurants de New York City via Elasticsearch et Kibana. Les données sont ingérées dans un index Elasticsearch via l'outil d'import de fichiers Kibana, qui mappe automatiquement les champs (dates, notes, codes de violation) pour permettre des requêtes structurées et des visualisations interactives.
11 requêtes Elasticsearch — résultats clés
| Question | Résultat |
|---|---|
| Q1 — Quartiers de New York | Manhattan 82 466 · Brooklyn 60 243 · Queens 52 785 · Bronx 19 625 · Staten Island 8 009 |
| Q2 — Quartier avec le plus de restaurants | Manhattan (82 466 documents) |
| Q3 — Code violation 04N | Filth flies / FRSA flies (mouches d'égout, drosophiles…) dans zones alimentaires |
| Q4 — Restaurants avec note A | Shake Shack JFK, Marinara 483 Amsterdam Ave, Taco Bell 340 Broadway… |
| Q5 — Cuisine la plus populaire par quartier | American dominant dans tous les quartiers (3 718 pour MN17, 1 656 pour MN13…) |
| Q6 — Date de la dernière inspection | 04/02/2024 |
| Q7 — Restaurants chinois grade A à Brooklyn | 1 883 résultats (Fortune House, Best Wok No 1, Hop Fa Bakery…) |
| Q8 — Adresse de LADUREE | 864 Madison Avenue, Manhattan 10021 (35 occurrences) |
| Q9 — Cuisine la plus touchée par la violation température (140°F) | American — 35 171 violations |
| Q10 — Top 5 violations | 10F (30 846) · 08A (23 522) · 06D (14 824) + 2 autres |
| Q11 — Chaîne la plus présente | Dunkin — 25 111 occurrences |
Techniques de requêtage
Les 11 requêtes couvrent les principales fonctionnalités de l'API Elasticsearch :
- Agrégations
terms— comptage par valeur de champ (quartier, cuisine, code violation, chaîne) avec tri par_count desc. - Agrégations imbriquées — sous-agrégation
popular_cuisinedansby_neighborhoodpour obtenir la cuisine dominante par zone NTA ; sous-agrégationtop_hitsdanstop_violation_codespour récupérer une description d'exemple par code. - Filtres
termetbool must— filtrage exact multi-critères (cuisine + grade + borough en Q7). - Tri temporel —
sort descsurINSPECTION DATEpour trouver la dernière inspection (Q6). - Mapping
keyword— mise à jour du mapping du champDBApour permettre l'agrégation exacte sur les noms de chaînes (Q11).
Exemple — requête Top 5 violations avec description associée :
GET daar/_search
{
"size": 0,
"aggs": {
"top_violation_codes": {
"terms": { "field": "VIOLATION CODE", "size": 5, "order": { "_count": "desc" } },
"aggs": {
"violation_description": {
"top_hits": { "_source": ["VIOLATION DESCRIPTION"], "size": 1 }
}
}
}
}
}Dashboard Kibana
Deux visualisations principales composent le dashboard :
- Carte géospatiale — chaque point représente un restaurant inspecté, positionné par coordonnées GPS. Permet d'identifier les zones de densité d'inspection et les quartiers nécessitant un suivi renforcé.
- Graphique temporel (area chart) — évolution du nombre de violations sur des intervalles de 30 jours, décomposée par les 5 codes les plus fréquents. Révèle les tendances saisonnières et les infractions récurrentes.
