Les deux réponses ci-dessus sont excellentes!
J'ajoute un exemple de plusieurs types dans un index. Supposons que vous développiez une application pour rechercher des livres dans une bibliothèque. Il y a quelques questions à poser au propriétaire de la bibliothèque,
Des questions:
Combien de livres prévoyez-vous de stocker?
Quel genre de livres allez-vous stocker dans la bibliothèque?
Comment allez-vous rechercher des livres?
Réponses:
Je prévois de stocker entre 50 000 et 70 000 livres (environ)
J'aurai 15 k à 20 k livres liés à la technologie (informatique, génie mécanique, génie chimique, etc.), 15 k de livres historiques, 10 k de livres de sciences médicales. 10 k de livres liés aux langues (anglais, espagnol, etc.)
Recherche par prénom de l'auteur, nom de famille de l'auteur, année de publication, nom de l'éditeur. (Cela vous donne une idée des informations que vous devez stocker dans l'index)
D'après les réponses ci-dessus, nous pouvons dire que le schéma de notre index devrait ressembler à ceci.
// Ce n'est pas le mappage exact, juste pour l'exemple
"yearOfPublish":{
"type": "integer"
},
"author":{
"type": "object",
"properties": {
"firstName":{
"type": "string"
},
"lastName":{
"type": "string"
}
}
},
"publisherName":{
"type": "string"
}
}
Afin d'atteindre ce qui précède, nous pouvons créer un index appelé Livres et peut avoir différents types.
Index: Livre
Types: Sciences, Arts
(Ou vous pouvez créer de nombreux types tels que la technologie, la science médicale, l'histoire, la langue, si vous avez beaucoup plus de livres)
Il est important de noter ici que le schéma est similaire mais que les données ne sont pas identiques. Et l'autre chose importante est le total des données que vous stockez.
J'espère que ce qui précède vous aidera à choisir différents types dans un index, si vous avez un schéma différent, vous devriez envisager un index différent. Petit index pour moins de données. big index pour le big data :-)