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.
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.
- Introduction and Installation
- Elasticsearch Fundamentals
- Elasticsearch Query DSL
- Logstash and Data Ingestion
- Kibana and Visualization
CREATE, MERGE et SET
Learning objectives
- Create nodes and relationships with
CREATE - Understand the risk of duplicates with CREATE
- Use
MERGEto avoid duplicates - Modify properties with
SET - Delete with
DELETEandDETACH DELETE
Creating with CREATE
CREATE always adds new nodes or relationships. Use it when you are certain the element does not yet exist.
| Operation | Behavior | When to use it |
|---|---|---|
CREATE | Always creates | Fresh, unique data |
MERGE | Creates if absent, otherwise retrieves | Repeated imports, idempotency |
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
elasticsearch-py client, and express Query DSL queries as Python dictionaries.Learning objectives
- 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
Learning objectives
- 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.
/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 element | Meaning |
|---|---|
(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.”
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 CodeFAQ
How long does it take to learn Elasticsearch Kibana Neo4j?
Are there any prerequisites?
Where should I start concretely?
📬 Want to receive this kind of guide every week? Subscribe for free — real code, zero fluff.