Оба приведенных выше ответа великолепны!
Я добавляю пример нескольких типов в индекс. Предположим, вы разрабатываете приложение для поиска книг в библиотеке. Есть несколько вопросов, которые можно задать владельцу библиотеки,
Вопросы:
Сколько книг вы планируете хранить?
Какие книги вы собираетесь хранить в библиотеке?
Как вы собираетесь искать книги?
ответы:
Я планирую хранить от 50 до 70 тысяч книг (приблизительно)
У меня будет 15–20 тыс. Книг по технологиям (информатика, машиностроение, химическое машиностроение и т. Д.), 15 тыс. Исторических книг, 10 тыс. Медицинских книг. 10 тыс. Языковых книг (английский, испанский и т. Д.)
Поиск по авторам, имени, фамилии автора, году публикации, имени издателя. (Это дает вам представление о том, какую информацию вы должны хранить в индексе)
Из приведенных выше ответов мы можем сказать, что схема в нашем индексе должна выглядеть примерно так.
// Это не точное отображение, только для примера
"yearOfPublish":{
"type": "integer"
},
"author":{
"type": "object",
"properties": {
"firstName":{
"type": "string"
},
"lastName":{
"type": "string"
}
}
},
"publisherName":{
"type": "string"
}
}
Для достижения вышеизложенного мы можем создать один индекс под названием «Книги», который может иметь различные типы.
Указатель: Книга
Типы: Наука, Искусство
(Или вы можете создать много типов, таких как технология, медицина, история, язык, если у вас много книг)
Здесь важно отметить, что схема похожа, но данные не идентичны. И другая важная вещь - это общие данные, которые вы храните.
Надеюсь, что вышеизложенное помогает, когда переходить к различным типам в индексе, если у вас другая схема, вы должны рассмотреть другой индекс. Небольшой индекс для меньшего количества данных. большой индекс для больших данных :-)