Ajouter / Supprimer un document ElasticSearch

Insérer un document

La base...

Pour insérer un document on utilise la commande POST Exemple:

POST /protic_test/measures
{"test":"tutu"}

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 la méthode PUT.

Pour vérifier, on fait une recherche sur tous les documents dont “test”=“tutu”

POST /protic_test/measures/_search
{
  "query":{
    "match":{
      "test":"tutu"
    }
  }
}

Réponse d'Elastic:

{
  "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"
        }
      }
    ]
  }
}

Insérer ou modifier un document avec ID prédéfini

Requette

PUT /protic_test/measures/IdPredefini  <--
{"test":"tutu_test2"}

Réponse d'Elastic

{
  "_index": "protic_test",
  "_type": "measures",
  "_id": "IdPredefini", <--
  "_version": 1,
  "result": "created",
  "_shards": {
    "total": 2,
    "successful": 1,
    "failed": 0
  },
  "_seq_no": 0,
  "_primary_term": 2
}

Vérification dans la base avec : GET /protic_test/measures/IdPredefini

GET /protic_test/measures/IdPredefini
{
  "_index": "protic_test",
  "_type": "measures",
  "_id": "IdPredefini", <--
  "_version": 1,
  "found": true,
  "_source": {
    "test": "tutu_test2"
  }
}

Suppression de documents

Suppression d'un document

DELETE /protic_test/measures/IdDuDocument

Suppression de tous les documents d'un index

Commande:

POST /protic_test/measures/_delete_by_query
{
  "query": { 
    "match_all":{}
  }
}

Réponse:

{
  "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": []
}
Vous pourriez laisser un commentaire si vous étiez connecté.