Elasticsearch Kibana Neo4j: The 9 Key Steps to Go from Zero to Operational

Elasticsearch Kibana Neo4j: The Essentials in One Article — Real Code, Diagrams, and Concrete Steps, Excerpts from a 38-Lesson Course.

Elasticsearch Kibana Neo4j: The 9 Key Steps to Go from Zero to Operational

Everyone can learn Elasticsearch Kibana Neo4j — provided they follow the steps in the right order. We have condensed a complete 38-lesson course into a clear path, with the most useful code snippets.

tl;dr
  • Introduction and Installation
  • Elasticsearch Fundamentals
  • Elasticsearch Query DSL
  • Logstash and Data Ingestion
  • Kibana and Visualization
~$ cat ./parcours.md # Elasticsearch Kibana Neo4j — 10 chapters
01
Introduction and Installation
→ Course presentation and use cases→ Install ELK + Neo4j via Docker Compose+ 1 more lessons
02
Elasticsearch Fundamentals
→ Index, documents, shards and replicas→ Inverted index, the magic of search+ 2 more lessons
03
Elasticsearch Query DSL
→ Match, term and bool queries→ Aggregations (buckets, metrics, pipeline)+ 2 more lessons
04
Logstash and Data Ingestion
→ Logstash architecture, input, filter, output→ Parse Apache logs with Grok+ 2 more lessons
05
Kibana and Visualization
→ Index patterns and Discover→ Create visualizations with Lens+ 2 more lessons
06
Neo4j and Graphs Fundamentals
→ Why a graph database?→ Nodes, relationships, properties+ 2 more lessons
07
Cypher the SQL of Graphs
→ MATCH, RETURN and basic patterns→ CREATE, MERGE and SET+ 2 more lessons
08
Graph Algorithms and GDS
→ PageRank and centrality→ Community detection (Louvain)+ 1 more lessons
🏁
Final project (+ 2 chapters along the way)
→ You leave with a concrete and demonstrable project

CREATE, MERGE et SET

NOTEObjective — Learn how to write to the graph: create nodes and relationships with CREATE, create them idempotently with MERGE, and modify properties with SET.

Learning objectives

TIPBy the end of this module
  • Create nodes and relationships with CREATE
  • Understand the risk of duplicates with CREATE
  • Use MERGE to avoid duplicates
  • Modify properties with SET
  • Delete with DELETE and DETACH DELETE

Creating with CREATE

CREATE always adds new nodes or relationships. Use it when you are certain the element does not yet exist.

OperationBehaviorWhen to use it
CREATEAlways createsFresh, unique data
MERGECreates if absent, otherwise retrievesRepeated imports, idempotency
TIPTip: With MERGE, include only the properties that uniquely identify the node in the pattern (such as an email). If you include variable properties, MERGE will create a duplicate as soon as a value differs.

SET for modification

SET adds or modifies properties and can also add labels. It is often combined with MATCH or MERGE.

DELETE

Deletes a node without relationships, or a relationship alone. Fails if the node is still connected.

DETACH DELETE

Deletes the node and all its relationships at the same time. This is the safe way to remove an entity.

Driver Python Elasticsearch et requêtes

NOTEObjective — Move beyond curl to integrate Elasticsearch into a real Python application using the official elasticsearch-py client, and express Query DSL queries as Python dictionaries.

Learning objectives

TIPBy the end of this module
  • Install and connect the official Python client
  • Index a document from Python
  • Translate a DSL query into a dictionary
  • Use the bulk helper for large imports
  • Handle connection errors cleanly

The official client

Elastic maintains an official Python client, elasticsearch-py, which wraps the entire REST API into Python methods. JSON queries become natural Python dictionaries to manipulate.

Premières requêtes, un index et un graphe

NOTEObjective — Create your very first document in Elasticsearch and your very first graph in Neo4j, to concretely feel the paradigm difference between search and relationships.

Learning objectives

TIPBy the end of this module
  • Index a document in Elasticsearch with curl
  • Perform a simple full-text search
  • Create two nodes and a relationship in Neo4j
  • Read the result of a basic Cypher query
  • Mentally compare the two approaches

Indexing your first document

In Elasticsearch you do not need to create a table beforehand. You simply send a JSON document and the index is created automatically. Let’s index three books into an index named livres.

NOTENote: The path /livres/_doc/1 reads as: index livres, document type _doc, identifier 1. If you omit the identifier, Elasticsearch generates one automatically.

Your first search

Now let’s search for all books whose title contains the word “prince”. Note that case does not matter thanks to text analysis.

Cypher elementMeaning
(alice:Personne)Person node, alias alice
{nom: "Alice"}Node property
-[:AMI_DE]->Directed relationship of type AMI_DE

Querying the graph

Now let’s ask who Alice’s friends are. The query describes the pattern to find.

The Elasticsearch reflex

“I am searching text among many documents and want the most relevant ones.”

The Neo4j reflex

“I start from an entity and follow its relationships to discover connected entities.”

WARNINGCaution: Do not confuse the two tools. Elasticsearch is not designed for traversing relationships, and Neo4j is not a full-text search engine. Each excels in its own domain.
va-plus-loin

This article covers the most useful snippets — the complete Elasticsearch Kibana Neo4j course (11 chapters, 38 lessons, corrected exercises and final project) takes you all the way.

./acceder-au-cours-complet free course: Mastering Claude Code

FAQ

How long does it take to learn Elasticsearch Kibana Neo4j?
With a structured progression (11 chapters, 38 short practical lessons), you reach an operational level in a few weeks at 30–60 minutes per day. The key is to practice each concept immediately.
Are there any prerequisites?
Basic computer knowledge is enough. If you can use a terminal and read simple code, you are ready.
Where should I start concretely?
Reproduce the commands in this article, then follow the complete Elasticsearch Kibana Neo4j course: it chains the 38 lessons in order, with exercises and a final project.

📬 Want to receive this kind of guide every week? Subscribe for free — real code, zero fluff.