Elasticsearch - Indexation et recherches simples

Architecture générale

DéfinitionNoeud

Correspond à un processus d'Elasticsearch en cours d’exécution.

DéfinitionCluster

Un cluster est composé d'un à plusieurs nœuds. Un nœud maître est choisi, il sera remplacé en cas de défaillance.

Schéma d'un cluster
Schéma d'un cluster à 4 nœuds (instances)InformationsInformations

DéfinitionIndex

Un index est un espace logique de stockage de documents de même type, découpé sur un à plusieurs Primary Shards.

Un index peut être répliqué sur zéro ou plusieurs Secondary Shards.

DéfinitionPrimary Shards

C'est une partition de l'index. Par défaut, l'index est découpé en 5 Shards Primary. Il n'est pas possible de changer le nombre de Shards après sa création.

DéfinitionSecondary Shards

Il s'agit de de copies de Primary Shards. Il peut y en avoir zéro à plusieurs par Primary Shard. Ce comportement est adopté à des fin de performance et de sécurisation des données.

DéfinitionDocument

Document : Un simple enregistrement dans un shard Elasticsearch. Un document est structuré comme un objet JSON et doit appartenir à un type (qui défini sa structure).

ExempleExemple d'un document de type Ville

CTRL+C pour copier, CTRL+V pour coller
1
{
2
    "nom": "Paris",
3
    "codePostal":"75000",
4
    "url": "http://www.paris.fr/",
5
    "monuments": [
6
        {            
7
            "nom": "Arc de Triomphe"
8
        },
9
        {            
10
            "nom": "Tour Eiffel"
11
        }
12
    ]
13
}
{
    "nom": "Paris",
    "codePostal":"75000",
    "url": "http://www.paris.fr/",
    "monuments": [
        {            
            "nom": "Arc de Triomphe"
        },
        {            
            "nom": "Tour Eiffel"
        }
    ]
}

ConseilSimilarité avec une base de données relationnelle

De manière très incomplète, on peut rapprocher ces notions des bases de données relationnelles :

SGBDR

Elasticsearch

Base de donnée

Index

Table

Type

Ligne

Document

Colonne

Champ ou propriété

FondamentalEn résumé ...

Un cluster Elasticsearch peut contenir plusieurs index (bases de données) qui, à leur tour, contiennent plusieurs types (tables). Ces types contiennent plusieurs documents (lignes) et chaque document possède des propriétés (colonnes).

PrécédentPrécédentSuivantSuivant
AccueilAccueilImprimerImprimer Robin Jolliet, 2016 (Contributions : Stéphane Crozat, les étudiants de l'UTC) Paternité - Partage des Conditions Initiales à l'IdentiqueRéalisé avec Scenari (nouvelle fenêtre)