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> |