Différences
Ci-dessous, les différences entre deux révisions de la page.
| Les deux révisions précédentes Révision précédente | |||
|
elasticsearch:requettes:document [18/11/2018 18:36] thierry ↷ Liens modifiés en raison d'un déplacement. |
— (Version actuelle) | ||
|---|---|---|---|
| Ligne 1: | Ligne 1: | ||
| - | ====== Ajouter / Supprimer un document ElasticSearch ====== | ||
| - | |||
| - | ==== Insérer un document ==== | ||
| - | === La base... === | ||
| - | Pour insérer un document on utilise la commande ''POST'' | ||
| - | Exemple: | ||
| - | <code json> | ||
| - | POST /protic_test/measures | ||
| - | {"test":"tutu"} | ||
| - | </code> | ||
| - | Avec cette méthode le document est stocké dans la base, Elastic génère automatiquement un ID. | ||
| - | |||
| - | Cela peut poser un probléme lorsque nous avons un document avec notre propre ID déjà défini, dans ce cas voir [[:elasticrequests#inserer_ou_modifier_un_document_avec_id_predefini|la méthode PUT]]. | ||
| - | |||
| - | Pour vérifier, on fait une recherche sur tous les documents dont "test"="tutu" | ||
| - | <code json> | ||
| - | POST /protic_test/measures/_search | ||
| - | { | ||
| - | "query":{ | ||
| - | "match":{ | ||
| - | "test":"tutu" | ||
| - | } | ||
| - | } | ||
| - | }</code> | ||
| - | Réponse d'Elastic: | ||
| - | <code> | ||
| - | { | ||
| - | "took": 3, | ||
| - | "timed_out": false, | ||
| - | "_shards": { | ||
| - | "total": 5, | ||
| - | "successful": 5, | ||
| - | "skipped": 0, | ||
| - | "failed": 0 | ||
| - | }, | ||
| - | "hits": { | ||
| - | "total": 1, | ||
| - | "max_score": 0.2876821, | ||
| - | "hits": [ | ||
| - | { | ||
| - | "_index": "protic_test", | ||
| - | "_type": "measures", | ||
| - | "_id": "MEBE-2QBW8KauOuV-U6l", | ||
| - | "_score": 0.2876821, | ||
| - | "_source": { | ||
| - | "test": "tutu" | ||
| - | } | ||
| - | } | ||
| - | ] | ||
| - | } | ||
| - | } | ||
| - | </code> | ||
| - | |||
| - | ---- | ||
| - | === Insérer ou modifier un document avec ID prédéfini === | ||
| - | Requette | ||
| - | <code> | ||
| - | PUT /protic_test/measures/IdPredefini <-- | ||
| - | {"test":"tutu_test2"} | ||
| - | </code> | ||
| - | Réponse d'Elastic | ||
| - | <code> | ||
| - | { | ||
| - | "_index": "protic_test", | ||
| - | "_type": "measures", | ||
| - | "_id": "IdPredefini", <-- | ||
| - | "_version": 1, | ||
| - | "result": "created", | ||
| - | "_shards": { | ||
| - | "total": 2, | ||
| - | "successful": 1, | ||
| - | "failed": 0 | ||
| - | }, | ||
| - | "_seq_no": 0, | ||
| - | "_primary_term": 2 | ||
| - | }</code> | ||
| - | Vérification dans la base avec : ''GET /protic_test/measures/IdPredefini'' | ||
| - | <code> | ||
| - | GET /protic_test/measures/IdPredefini | ||
| - | { | ||
| - | "_index": "protic_test", | ||
| - | "_type": "measures", | ||
| - | "_id": "IdPredefini", <-- | ||
| - | "_version": 1, | ||
| - | "found": true, | ||
| - | "_source": { | ||
| - | "test": "tutu_test2" | ||
| - | } | ||
| - | } | ||
| - | </code> | ||
| - | |||
| - | ---- | ||
| - | ==== Suppression de documents ==== | ||
| - | === Suppression d'un document === | ||
| - | ''DELETE /protic_test/measures/IdDuDocument'' | ||
| - | === Suppression de tous les documents d'un index === | ||
| - | Commande: | ||
| - | <code json> | ||
| - | POST /protic_test/measures/_delete_by_query | ||
| - | { | ||
| - | "query": { | ||
| - | "match_all":{} | ||
| - | } | ||
| - | } | ||
| - | </code> | ||
| - | |||
| - | Réponse: | ||
| - | <code json> | ||
| - | { | ||
| - | "took": 230, | ||
| - | "timed_out": false, | ||
| - | "total": 112, | ||
| - | "deleted": 112, | ||
| - | "batches": 1, | ||
| - | "version_conflicts": 0, | ||
| - | "noops": 0, | ||
| - | "retries": { | ||
| - | "bulk": 0, | ||
| - | "search": 0 | ||
| - | }, | ||
| - | "throttled_millis": 0, | ||
| - | "requests_per_second": -1, | ||
| - | "throttled_until_millis": 0, | ||
| - | "failures": [] | ||
| - | } | ||
| - | </code> | ||