# Stratégie insertion

**URL:** https://discuss.elastic.co/t/strategie-insertion/215614
**Category:** Discussions en français
**Created:** [January 19, 2020, 10:30am UTC](https://discuss.elastic.co/t/strategie-insertion/215614 "2020-01-19T10:30:54Z")
**Posts on this page:** 9
**Page:** 1

<div class="post-metadata">

### Author: ![naguelfar](https://avatars.discourse-cdn.com/v4/letter/n/e99b99/32.png) [@naguelfar](https://discuss.elastic.co/u/naguelfar)
#### Post date: [January 19, 2020, 10:30am UTC](https://discuss.elastic.co/t/strategie-insertion/215614/1 "2020-01-19T10:30:54Z")

</div>

Bonjour,

voici mon problème : J'ai des données issues d'un fichier type CSV avec des clients et des commandes. L'index Elastic est sous la forme suivante :  
Un client qui a des commandes qui ont des lignes de commandes.  
Idéalement il faudrait éviter ces nested mais bon, l'utilisation faite après répond à notre besoin.

Quoiqu'il en soit, tout marche très bien en bulk sauf un cas client qui a plus de 30 000 commandes associés (trop pour le bulk).

Quelles solutions ai je pour insérer ce type de données ?

merci

---

<div class="post-metadata">

### Author: ![dadoonet](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/dadoonet/32/137187_2.png) [@dadoonet](https://discuss.elastic.co/u/dadoonet)
#### Post date: [January 19, 2020, 1:18pm UTC](https://discuss.elastic.co/t/strategie-insertion/215614/2 "2020-01-19T13:18:02Z")

</div>

Pourquoi indexes tu des clients et non des commandes ?

---

<div class="post-metadata">

### Author: ![naguelfar](https://avatars.discourse-cdn.com/v4/letter/n/e99b99/32.png) [@naguelfar](https://discuss.elastic.co/u/naguelfar)
#### Post date: [January 19, 2020, 2:22pm UTC](https://discuss.elastic.co/t/strategie-insertion/215614/3 "2020-01-19T14:22:52Z")

</div>

J'exploite les données en datavisualisation, j'ai donc besoin que les informations ne soient pas dupliquées pour la partie client (d'ou aborder çà par clients et non commandes). Par exemple j'ai besoin d'avoir la répartition homme / femme, moyenne d'age, répartition géographique etc. et en meme temps etre capable en sélectionnant un produit ou une famille de produits d'avoir une carte geo des clients l'ayant acheté ou leur moyenne d'age.  
Cela fonctionne très bien pour l'ensemble des clients sauf ce cas qui pose problème à l'import.

---

<div class="post-metadata">

### Author: ![ahmed\_charafouddine](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/ahmed_charafouddine/32/45129_2.png) [@ahmed\_charafouddine](https://discuss.elastic.co/u/ahmed_charafouddine)
#### Post date: [January 20, 2020, 7:20am UTC](https://discuss.elastic.co/t/strategie-insertion/215614/4 "2020-01-20T07:20:30Z")

</div>

Pourquoi tu indexes pas directement les commandes avec pour chaque commande son client ?

Il me semble qu’il est conseillé d indexer les documents les plus plats possible ( si je dis pas des bêtises )

---

<div class="post-metadata">

### Author: ![naguelfar](https://avatars.discourse-cdn.com/v4/letter/n/e99b99/32.png) [@naguelfar](https://discuss.elastic.co/u/naguelfar)
#### Post date: [January 20, 2020, 8:59am UTC](https://discuss.elastic.co/t/strategie-insertion/215614/5 "2020-01-20T08:59:24Z")

</div>

Effectivement il vaut mieux éviter. Pour autant, imaginons que je duplique mon client pour avoir un index à plat, de fait son age est répété. Si je veux ma moyenne d'age elle sera fausse.  
J'avais échangé il y'a qq. temps avec David P. lors d'un BBL, c'était (à l'époque en tout cas) la meilleure manière par rapport au besoin final.

Nous avons une quarantaine de structure identique avec plusieurs millions de documents et tout fonctionne sans soucis.. Sauf ce cas là sur l'insertion.

---

<div class="post-metadata">

### Author: ![dadoonet](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/dadoonet/32/137187_2.png) [@dadoonet](https://discuss.elastic.co/u/dadoonet)
#### Post date: [January 20, 2020, 9:24am UTC](https://discuss.elastic.co/t/strategie-insertion/215614/6 "2020-01-20T09:24:28Z")

</div>

Ok je vois.

> Quoiqu'il en soit, tout marche très bien en bulk sauf un cas client qui a plus de 30 000 commandes associés (trop pour le bulk).

Quel est le message d'erreur du coup ?

Peut-être que du parent/child serait mieux dans ce cas ? (Même si je ne suis pas fan de ça).

---

<div class="post-metadata">

### Author: ![naguelfar](https://avatars.discourse-cdn.com/v4/letter/n/e99b99/32.png) [@naguelfar](https://discuss.elastic.co/u/naguelfar)
#### Post date: [January 20, 2020, 10:20am UTC](https://discuss.elastic.co/t/strategie-insertion/215614/7 "2020-01-20T10:20:00Z")

</div>

le bulk global (un client / X milliers de commandes) fait un timeout.  
Le contournement reste la création et l'update par lot avec un script painless mais c'est très très long.

---

<div class="post-metadata">

### Author: ![dadoonet](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/dadoonet/32/137187_2.png) [@dadoonet](https://discuss.elastic.co/u/dadoonet)
#### Post date: [January 20, 2020, 10:50am UTC](https://discuss.elastic.co/t/strategie-insertion/215614/8 "2020-01-20T10:50:05Z")

</div>

Parent/child résoudrait ce problème à moindre coût.  
Et si le dataset reste finalement assez raisonnable, ça peut être un bon compromis à mon avis.

---

<div class="post-metadata">

### Author: ![system](https://us1.discourse-cdn.com/elastic/original/3X/1/a/1ac57faf039f6b580b3f104ef42a2a89e41014de.png) [@system](https://discuss.elastic.co/u/system)
#### Post date: [February 17, 2020, 10:50am UTC](https://discuss.elastic.co/t/strategie-insertion/215614/9 "2020-02-17T10:50:25Z")

</div>

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.
