Entrambe le risposte sopra sono fantastiche!
Sto aggiungendo un esempio di diversi tipi in un indice. Supponiamo che tu stia sviluppando un'app per cercare libri in una biblioteca. Ci sono alcune domande da porre al proprietario della Biblioteca,
Domande:
Quanti libri hai intenzione di conservare?
Che tipo di libri hai intenzione di conservare in biblioteca?
Come hai intenzione di cercare libri?
risposte:
Sto programmando di conservare libri da 50 k - a 70 k (circa)
Avrò 15 k -20 k di libri relativi alla tecnologia (informatica, ingegneria meccanica, ingegneria chimica e così via), 15 k di libri storici, 10 k di libri di scienze mediche. 10 k di libri correlati alla lingua (inglese, spagnolo e così via)
Ricerca per nome dell'autore, cognome dell'autore, anno di pubblicazione, nome dell'editore. (Questo ti dà l'idea di quali informazioni dovresti archiviare nell'indice)
Dalle risposte sopra possiamo dire che lo schema nel nostro indice dovrebbe apparire in qualche modo simile a questo.
// Questa non è la mappatura esatta, solo per esempio
"yearOfPublish":{
"type": "integer"
},
"author":{
"type": "object",
"properties": {
"firstName":{
"type": "string"
},
"lastName":{
"type": "string"
}
}
},
"publisherName":{
"type": "string"
}
}
Per ottenere quanto sopra possiamo creare un indice chiamato Libri e possiamo avere vari tipi.
Indice: libro
Tipi: Scienza, Arte
(Oppure puoi creare molti tipi come Tecnologia, Scienza medica, Storia, Lingua, se hai molti più libri)
La cosa importante da notare qui è che lo schema è simile ma i dati non sono identici. E l'altra cosa importante sono i dati totali che stai memorizzando.
Spero che quanto sopra ti aiuti quando scegliere tipi diversi in un indice, se hai schemi diversi dovresti considerare un indice diverso. Piccolo indice per meno dati. grande indice per big data :-)