📄️ Elasticsearch, Kibana & Neo4j
Build a search and recommendation engine with Elasticsearch 9, Kibana, OpenSearch and Neo4j 5 on 200,000 real news articles inside a tested Docker kit: zero install, zero troubleshooting. 10 hours, a 40-question exam and a certificate.
📄️ 1. Why & install the kit
Understand the limits of a SQL LIKE, the idea of an inverted index and why a graph matters, then install the Veille Docker kit for Elasticsearch 9, Kibana and Neo4j 5 in three commands.
📄️ 2. Cluster, index, shard
Understand cluster, node, index, shard, replica and document in Elasticsearch 9, read _cluster/health and _cat/indices, and create your first index with settings and mappings.
📄️ 3. CRUD and _bulk import
Step-by-step Elasticsearch 9 CRUD, optimistic versions with _seq_no and _primary_term, the _bulk NDJSON format, and a guided import of 200,853 News articles with the Veille kit.
📄️ 4. Mapping and analyzers
Module 4 of the Elasticsearch 9 course: dynamic and explicit mapping, text vs keyword, the titre_en analyzer, _analyze, multi-fields, index false and reindexing with _reindex.
📄️ 5. Search (Query DSL)
Module 5 of the Elasticsearch 9 course: match, multi_match, term, range, bool, filter context, BM25 score, explain, highlight, from/size and search_after.
📄️ 6. Aggregations
Module 6 of the Elasticsearch 9 course: terms, date_histogram, cardinality, stats, top_hits, sub-aggregations, composite and reading aggregated responses.
📄️ 7. Kibana and dashboards
Module 7 of the Elasticsearch 9 course: create the news Data View in French-locale Kibana, Discover, KQL, Lens and the shareable Veille dashboard.
📄️ 8. Autocompletion, fuzzy and ES|QL
Module 8 of the Elasticsearch 9 course: completion suggester, fuzziness AUTO, phrase suggester, ES|QL, aliases, zero-downtime reindexing and ILM preview.
📄️ 9. OpenSearch and migration
Module 9 of course 42: the OpenSearch fork story, Elastic vs Apache 2.0 licensing, SQL/PPL/k-NN plugins, Dashboards, migration and the verdict for Veille.
📄️ 10. Neo4j and Cypher
Module 10 of course 42: property model, Neo4j 5.26 Browser, MATCH, MERGE, CREATE, constraints and the Veille team mini-graph explained line by line.
📄️ 11. Model and load
Module 11 of course 42: move from news.csv to the Veille graph (200,853 articles, 41 categories, 23,082 authors) with constraints, indexes and batched LOAD CSV.
📄️ 12. Advanced Cypher
Module 12 of course 42: variable-length paths, shortestPath, WITH, UNWIND, CASE, PROFILE and neighborhood recommendation on Veille's News graph.
📄️ 13. Python: ES and Neo4j
Module 13 of course 42: drive Elasticsearch 9 and Neo4j 5 from Python with the official clients, from one container and with nothing to install locally.
📄️ 14. Security and operations
Elasticsearch roles and users, API keys, snapshots into an fs repository, Neo4j backup, and daily monitoring of the Veille cluster with Kibana.
📄️ 15. Diagnose 12 failures
Voluntarily reproduce and repair the 12 recurring Elasticsearch, Kibana, and Neo4j failures of the Veille kit: ports, OOM, watermark, mapping, APOC.
📄️ 16. Veille project
Module 16 of the Elasticsearch, Kibana, and Neo4j course: end-to-end final project with justified mapping, persona queries, Kibana dashboard, News graph, and Python recommendation.
📄️ 17. Recap and exam
Complete recap of the Elasticsearch, Kibana, and Neo4j course: mapping, Query DSL, aggregations, Kibana, OpenSearch, Cypher, Python, security, diagnosis, Veille project; then the 40-question final exam.