Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
elasticsearch [Le 01/02/2023, 09:37] – [Voir aussi] ajout tuto ENI (payant !) bcag2elasticsearch [Le 07/02/2025, 11:16] (Version actuelle) 0ol
Ligne 1: Ligne 1:
-{{tag>Xenial console shell BROUILLON}}+{{tag>console shell BROUILLON}}
  
 ---- ----
  
-====== Elasticsearch ======+====== OpenSearch/Elasticsearch ======
  
 **[[wpfr>Elasticsearch]]** est une base de données documentaire libre se basant sur le serveur Apache [[wpfr>Lucene]].\\ **[[wpfr>Elasticsearch]]** est une base de données documentaire libre se basant sur le serveur Apache [[wpfr>Lucene]].\\
 Les requêtes se font via le protocole [[wpfr>Hypertext_Transfer_Protocol|HTTP]] et l'interface [[wpfr>Representational_state_transfer|REST]].La requête PUT permet d'ajouter/modifier une entrée tandis que GET permet de la récupérer. L'échange de données se faisant via le format [[wpfr>JavaScript_Object_Notation|JSON]]. Les requêtes se font via le protocole [[wpfr>Hypertext_Transfer_Protocol|HTTP]] et l'interface [[wpfr>Representational_state_transfer|REST]].La requête PUT permet d'ajouter/modifier une entrée tandis que GET permet de la récupérer. L'échange de données se faisant via le format [[wpfr>JavaScript_Object_Notation|JSON]].
 +<note important>En 2021, le changement de licence d'Elasticsearch vers la licence non libre [[wpfr>Server_Side_Public_License|SSPL]] a entraîné la création du fork [[wp>OpenSearch_(software)|OpenSearch]], a priviligier désormais !\\ 
 +Fin août 2024, marche arrière avec l'ajout d'une licence AGPL pour qu'Elasticsearch soit à nouveau open source ((src: https://www.elastic.co/fr/blog/elasticsearch-is-open-source-again et https://sgbd.developpez.com/actu/362095/Elasticsearch-est-a-nouveau-open-source-en-ajoutant-l-AGPL-conforme-a-l-OSI-comme-troisieme-option-apres-trois-ans-ou-les-produits-d-Elastic-ne-possedaient-qu-une-double-licence-non-open-source/)) 
 +</note>
 Ce tutoriel a pour but de montrer comment installer basiquement le service Elasticsearch et réaliser des requêtes simples. Ce tutoriel a pour but de montrer comment installer basiquement le service Elasticsearch et réaliser des requêtes simples.
 Les paramètres techniques détaillées et les concepts d'architecture ou de modèle documentaire ne seront pas abordés ici.\\ Les paramètres techniques détaillées et les concepts d'architecture ou de modèle documentaire ne seront pas abordés ici.\\
Ligne 141: Ligne 143:
 ====Opérations de base==== ====Opérations de base====
 <note tip>Les exemples ci-dessous utilisent la [[:tutoriel/console_commandes_de_base|commande]] //curl//, il est possible de l'agrémenter de la commande [[:json_query]],\\ <note tip>Les exemples ci-dessous utilisent la [[:tutoriel/console_commandes_de_base|commande]] //curl//, il est possible de l'agrémenter de la commande [[:json_query]],\\
-voire d'installer le logiciel [[https://insomnia.rest/|Insomnia]](OSS)</note>+voire d'installer le logiciel [[https://insomnia.rest/|Insomnia]](OSS) ou [[https://docs.usebruno.com/introduction/what-is-bruno|Bruno]](également OSS), ce dernier offre l’avantage de permettre d'accéder à ses requêtes et donc de les versionner et/ou de les partager</note>
  
 Dans un base de données, il existe 4 opérations de base. Elles sont synthétisées sous l'acronyme [[wpfr>CRUD|CRUD]] : Dans un base de données, il existe 4 opérations de base. Elles sont synthétisées sous l'acronyme [[wpfr>CRUD|CRUD]] :
   - **C**reate : création d'une donnée   - **C**reate : création d'une donnée
-  - **D**elete : supression d'une donnée 
   - **R**ead : lecture d'une donnée   - **R**ead : lecture d'une donnée
   - **U**pdate : mise-à-jour d'une donnée   - **U**pdate : mise-à-jour d'une donnée
 +  - **D**elete : supression d'une donnée
  
 De même, le protocole [[wpfr>Hypertext_Transfer_Protocol#M.C3.A9thodes|HTTP]] possède, entre autres, 4 méthodes : De même, le protocole [[wpfr>Hypertext_Transfer_Protocol#M.C3.A9thodes|HTTP]] possède, entre autres, 4 méthodes :
-  - **G**ET : accession à une ressource 
   - **P**OST : publication d'une nouvelle ressource   - **P**OST : publication d'une nouvelle ressource
 +  - **G**ET : accession à une ressource
   - **P**UT : mise-à-jour d'une ressource existante (création si elle n'existe pas)   - **P**UT : mise-à-jour d'une ressource existante (création si elle n'existe pas)
   - **D**ELETE : suppression d'une donnée   - **D**ELETE : suppression d'une donnée
Ligne 157: Ligne 159:
 Dans le cadre d'Elasticsearch, on peut donc faire le rapprochement : Dans le cadre d'Elasticsearch, on peut donc faire le rapprochement :
   - Create ↔ POST   - Create ↔ POST
-  - Delete ↔ DELETE 
   - Read ↔ GET   - Read ↔ GET
   - Update ↔ PUT   - Update ↔ PUT
 +  - Delete ↔ DELETE
  
 === Indexation === === Indexation ===