Obie powyższe odpowiedzi są świetne!
Dodaję przykład kilku typów w indeksie. Załóżmy, że tworzysz aplikację do wyszukiwania książek w bibliotece. Jest kilka pytań do właściciela Biblioteki,
Pytania:
Ile książek planujesz przechowywać?
Jakie książki zamierzasz przechowywać w bibliotece?
Jak zamierzasz szukać książek?
Odpowiedzi:
Planuję przechowywać od 50 tys. Do 70 tys. Książek (w przybliżeniu)
Będę mieć 15 tys. -20 tys. Książek związanych z technologią (informatyka, inżynieria mechaniczna, inżynieria chemiczna itd.), 15 tys. Książek historycznych, 10 tys. Medycznych. 10 tys. Książek związanych z językiem (angielski, hiszpański itd.)
Szukaj według imienia autora, nazwiska autora, roku wydania, nazwy wydawcy. (To daje wyobrażenie o tym, jakie informacje należy przechowywać w indeksie)
Z powyższych odpowiedzi możemy powiedzieć, że schemat w naszym indeksie powinien wyglądać mniej więcej tak.
// To nie jest dokładne mapowanie, tylko na przykład
"yearOfPublish":{
"type": "integer"
},
"author":{
"type": "object",
"properties": {
"firstName":{
"type": "string"
},
"lastName":{
"type": "string"
}
}
},
"publisherName":{
"type": "string"
}
}
Aby to osiągnąć, możemy stworzyć jeden indeks o nazwie Książki i może on mieć różne typy.
Indeks: książka
Rodzaje: nauka, sztuka
(Lub możesz utworzyć wiele typów, takich jak technologia, nauki medyczne, historia, język, jeśli masz dużo więcej książek)
Należy tutaj pamiętać, że schemat jest podobny, ale dane nie są identyczne. Inną ważną rzeczą jest całkowita ilość przechowywanych danych.
Mam nadzieję, że powyższe pomoże, kiedy wybrać różne typy w indeksie, jeśli masz inny schemat, powinieneś rozważyć inny indeks. Mały indeks dla mniejszej ilości danych. duży indeks dużych zbiorów danych :-)