¡Ambas respuestas anteriores son geniales!
Estoy agregando un ejemplo de varios tipos en un índice. Supongamos que está desarrollando una aplicación para buscar libros en una biblioteca. Hay algunas preguntas para hacerle al propietario de la Biblioteca,
Preguntas:
¿Cuántos libros planeas almacenar?
¿Qué tipo de libros vas a almacenar en la biblioteca?
¿Cómo vas a buscar libros?
Respuestas:
Estoy planeando almacenar 50 k - a 70 k libros (aproximadamente)
Tendré 15 k -20 k libros relacionados con la tecnología (informática, ingeniería mecánica, ingeniería química, etc.), 15 k de libros históricos, 10 k de libros de ciencias médicas. 10 k de libros relacionados con el idioma (inglés, español, etc.)
Búsqueda por nombre del autor, apellido del autor, año de publicación, nombre del editor. (Esto le da la idea de qué información debe almacenar en el índice)
De las respuestas anteriores, podemos decir que el esquema en nuestro índice debería verse más o menos así.
// Esta no es la asignación exacta, solo para el ejemplo
"yearOfPublish":{
"type": "integer"
},
"author":{
"type": "object",
"properties": {
"firstName":{
"type": "string"
},
"lastName":{
"type": "string"
}
}
},
"publisherName":{
"type": "string"
}
}
Para lograr lo anterior, podemos crear un índice llamado Libros y podemos tener varios tipos.
Índice: Libro
Tipos: ciencia, artes
(O puede crear muchos tipos, como Tecnología, Ciencias médicas, Historia, Idioma, si tiene muchos más libros)
Lo importante a tener en cuenta aquí es que el esquema es similar pero los datos no son idénticos. Y la otra cosa importante es el total de datos que está almacenando.
Espero que lo anterior ayude a elegir diferentes tipos en un índice; si tiene un esquema diferente, debe considerar un índice diferente. Pequeño índice para menos datos. gran índice para grandes datos :-)