# Nombre de shard dans un index

**URL:** https://discuss.elastic.co/t/nombre-de-shard-dans-un-index/144993
**Category:** Discussions en français
**Created:** [August 18, 2018, 8:57am UTC](https://discuss.elastic.co/t/nombre-de-shard-dans-un-index/144993 "2018-08-18T08:57:50Z")
**Posts on this page:** 17
**Page:** 1

<div class="post-metadata">

### Author: ![lebilien](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/lebilien/32/23755_2.png) [@lebilien](https://discuss.elastic.co/u/lebilien)
#### Post date: [August 18, 2018, 8:57am UTC](https://discuss.elastic.co/t/nombre-de-shard-dans-un-index/144993/1 "2018-08-18T08:57:50Z")

</div>

bonjour, sur un index il y a un nombre max de shard à mette ou pas . Actuellement j'ai mis 10 shard et j'ai 7 million de documents actuellement .

Sur une requête avec une aggs Terms et dedans une sous aggs SUM je trouve la réponse un peu lente pour un size de 6000 . Alors je voulais savoir si le nombre de shard et de replica avait un impact sur la vitesse ?

merci  
bonne journée

---

<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: [August 18, 2018, 9:15am UTC](https://discuss.elastic.co/t/nombre-de-shard-dans-un-index/144993/2 "2018-08-18T09:15:05Z")

</div>

> Actuellement j'ai mis 10 shard

Pourquoi ? La question principale est là.  
Regarde ces liens :

[![](https://us1.discourse-cdn.com/elastic/original/3X/f/2/f2b2fa6ae25e007c741e96e7b0384e2e8b24e3e4.jpeg "Les Vendredis noirs : même pas peur! (David Pilato)") ](https://www.youtube.com/watch?v=xNy4kLm43UA)

> **[Quantitative Cluster Sizing](https://www.elastic.co/elasticon/conf/2016/sf/quantitative-cluster-sizing)**

> **[How many shards should I have in my Elasticsearch cluster?](https://www.elastic.co/blog/how-many-shards-should-i-have-in-my-elasticsearch-cluster)**

Ca t'aidera à trouver quel est le bon nombre de shards qu'il te faut. A la lecture, moins tu en as, mieux c'est. A l'écriture, plus tu en as, mieux c'est. Pour résumer dans les grosses lignes.

> je trouve la réponse un peu lente pour un size de 6000

Plus tu vas augmenter `size`, plus tu vas perdre de temps. Surtout avec beaucoup de shards.

Peux-tu montrer un exemple de requête que tu passes pour voir de quel `size` on parle ici ?

---

<div class="post-metadata">

### Author: ![lebilien](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/lebilien/32/23755_2.png) [@lebilien](https://discuss.elastic.co/u/lebilien)
#### Post date: [August 18, 2018, 9:19am UTC](https://discuss.elastic.co/t/nombre-de-shard-dans-un-index/144993/3 "2018-08-18T09:19:21Z")

</div>

j'ai mis 10 comme j'aurai pu mettre 15 ou 5 lol

```
get /myindex/_search
    {
      "size":0,
      "query":{
        "bool": {
          "must": [
            {
              "match": {
                "idsite": 41
              }
            }
          ]
        }
      },
      "aggs":{
        "listekw":{
          "terms": {
            "field": "idkeyword.keyword",
            "size": 10000
          },
          "aggs": {
            "imp": {
              "sum": {
                "field": "impressions"
              }
            },
            "click":
            {
              "sum": {
                "field": "click"
              }
            }
          }
          
        }
      }
    }
```

---

<div class="post-metadata">

### Author: ![lebilien](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/lebilien/32/23755_2.png) [@lebilien](https://discuss.elastic.co/u/lebilien)
#### Post date: [August 18, 2018, 9:39am UTC](https://discuss.elastic.co/t/nombre-de-shard-dans-un-index/144993/4 "2018-08-18T09:39:58Z")

</div>

alors le size 10000 explose le serveur mais à 6000 je passe 🙂

---

<div class="post-metadata">

### Author: ![lebilien](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/lebilien/32/23755_2.png) [@lebilien](https://discuss.elastic.co/u/lebilien)
#### Post date: [August 18, 2018, 10:00am UTC](https://discuss.elastic.co/t/nombre-de-shard-dans-un-index/144993/5 "2018-08-18T10:00:20Z")

</div>

du coup après avoir vu la vidéo j'ai une question !!

mon système enregistre des informations pour des sites . Est ce que je créer un index par site et je les mets dans un alias ? ou comme j'ai actuellement je mets tous le monde dans le même index !!

---

<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: [August 18, 2018, 10:04am UTC](https://discuss.elastic.co/t/nombre-de-shard-dans-un-index/144993/6 "2018-08-18T10:04:54Z")

</div>

Ça dépend. Si il y a beaucoup de sites (notamment petits), mieux vaut les mettre dans un seul index avec un alias mais surtout du routing afin que toutes les données du site aillent vers le même shard.

---

<div class="post-metadata">

### Author: ![lebilien](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/lebilien/32/23755_2.png) [@lebilien](https://discuss.elastic.co/u/lebilien)
#### Post date: [August 18, 2018, 11:38am UTC](https://discuss.elastic.co/t/nombre-de-shard-dans-un-index/144993/7 "2018-08-18T11:38:43Z")

</div>

ok merci et pour revenir sur ma requête pour sortons les mots unique , c'est peut être pas la bonne méthode car sur une aggs on peut pas paginer ?

---

<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: [August 18, 2018, 12:17pm UTC](https://discuss.elastic.co/t/nombre-de-shard-dans-un-index/144993/8 "2018-08-18T12:17:06Z")

</div>

Ça peut-être ? [https://www.elastic.co/guide/en/elasticsearch/reference/6.3/search-aggregations-bucket-terms-aggregation.html#\_filtering\_values\_with\_partitions](https://www.elastic.co/guide/en/elasticsearch/reference/6.3/search-aggregations-bucket-terms-aggregation.html#_filtering_values_with_partitions)

---

<div class="post-metadata">

### Author: ![lebilien](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/lebilien/32/23755_2.png) [@lebilien](https://discuss.elastic.co/u/lebilien)
#### Post date: [August 18, 2018, 12:19pm UTC](https://discuss.elastic.co/t/nombre-de-shard-dans-un-index/144993/9 "2018-08-18T12:19:01Z")

</div>

j'ai testé pais j'ai pas compris , on indique un nombre de partition ?

si on met "num\_partitions": 20 et size 1000 par exemple et donc dans chaque partition elastic répartis le nombre de réponse de manière auto ?

---

<div class="post-metadata">

### Author: ![lebilien](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/lebilien/32/23755_2.png) [@lebilien](https://discuss.elastic.co/u/lebilien)
#### Post date: [August 18, 2018, 12:27pm UTC](https://discuss.elastic.co/t/nombre-de-shard-dans-un-index/144993/10 "2018-08-18T12:27:51Z")

</div>

avec partition sur un size de 1000, cela ne fait plus planté le serveur et sa répond plus vite 🙂

j'avait testé hier soir sans comprend mais ce midis c'est bon 🙂

par contre c'est bizarre , je demande un order par imp, dans la partie 0 j'ai une liste de résultats , mais quand je demande la partition 1 , j'obtiens une liste qui n'est pas la suite ordonné sur le nombre de imp desc.

en somme je termine la partition 0 avec imp = 10 et je repart la partition 1 avec un imp a 1000 !!!

```
{
  "size":0,
  "query":{
    "bool": {
      "must": [
        {
          "match": {
            "idsite": 41
          }
        }
      ]
    }
  },
  "aggs":{
    "listekw":{
      "terms": {
        "field": "idkeyword.keyword",
        
        "include": {
               "partition": 1,
               "num_partitions": 100
            },
            "order": {
              "imp": "desc"
            }, 
        "size": 10000
      },
      "aggs": {
        "imp": {
          "sum": {
            "field": "impressions"
          }
        },
        "click":
        {
          "sum": {
            "field": "click"
          }
        }
      }
      
    }
  }
}
```

---

<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: [August 18, 2018, 12:40pm UTC](https://discuss.elastic.co/t/nombre-de-shard-dans-un-index/144993/11 "2018-08-18T12:40:03Z")

</div>

Peut-être que @jimczi pourra t'aider.

---

<div class="post-metadata">

### Author: ![gabriel\_tessier](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/gabriel_tessier/32/27911_2.png) [@gabriel\_tessier](https://discuss.elastic.co/u/gabriel_tessier)
#### Post date: [August 20, 2018, 4:56am UTC](https://discuss.elastic.co/t/nombre-de-shard-dans-un-index/144993/12 "2018-08-20T04:56:25Z")

</div>

Bonjour,

En regardant ton example de document avec des impressions et des clicks tu peux peut etre considérer dupliquer tes donnees, j'avais un probleme similaire et dans mon cas mes cliques et impressions etaient en lecture seule (i.e je ne faisait pas de update). Un index pour mes données et un autre avec seulement les clicks et impressions un document par click, a la logstach. Du coup pour les données paginées je tapais dans le second index.  
Un autre exemple avec les tags, ou j'ai un index avec tous mes tags avec un compteur et d'autres champs, plus un second index avec mes documents qui contiennent les tags, dans ce cas je faisais plus de update pour incrementer les compteurs de tags.  
Tout ca pour dire que des fois dupliquer les données ca peux aider a resoudre un problem de pagination sur aggs.

---

<div class="post-metadata">

### Author: ![jimczi](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/jimczi/32/47985_2.png) [@jimczi](https://discuss.elastic.co/u/jimczi)
#### Post date: [August 20, 2018, 10:49am UTC](https://discuss.elastic.co/t/nombre-de-shard-dans-un-index/144993/13 "2018-08-20T10:49:08Z")

</div>

L'ordre des partitions ne depend pas de l'ordre de l'aggregation par termes. Si tu demandes `100` partitions, chaque partition retourne un set de termes differents triés par le critère demandé mais la partition N+1 n'est pas la suite trié de la partition N. En résumé toutes les partitions sont triés mais pour avoir le tri complet tu dois faire un merge sort de toutes les partitions.

---

<div class="post-metadata">

### Author: ![lebilien](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/lebilien/32/23755_2.png) [@lebilien](https://discuss.elastic.co/u/lebilien)
#### Post date: [August 20, 2018, 11:00am UTC](https://discuss.elastic.co/t/nombre-de-shard-dans-un-index/144993/14 "2018-08-20T11:00:50Z")

</div>

c'est bien ce que j'avait remarqué que les partitions ne se suivait pas ^^ , le merge le le fait côté code ou je le demande à Elastic ?

---

<div class="post-metadata">

### Author: ![jimczi](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/jimczi/32/47985_2.png) [@jimczi](https://discuss.elastic.co/u/jimczi)
#### Post date: [August 20, 2018, 11:16am UTC](https://discuss.elastic.co/t/nombre-de-shard-dans-un-index/144993/15 "2018-08-20T11:16:46Z")

</div>

Côté client, pour Elasticsearch toutes les partitions sont independantes, il n'y a donc pas moyen de faire le merge dans le server.

---

<div class="post-metadata">

### Author: ![lebilien](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/lebilien/32/23755_2.png) [@lebilien](https://discuss.elastic.co/u/lebilien)
#### Post date: [August 22, 2018, 12:29pm UTC](https://discuss.elastic.co/t/nombre-de-shard-dans-un-index/144993/16 "2018-08-22T12:29:11Z")

</div>

du coup quel est la bonne solution quand on veut afficher un listing d'information avec des agrégation dedans ?

---

<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: [September 19, 2018, 12:29pm UTC](https://discuss.elastic.co/t/nombre-de-shard-dans-un-index/144993/17 "2018-09-19T12:29:12Z")

</div>

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