====== 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 [[: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"
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": []
}