Elasticsearch 5 - подход к проектированию для многих небольших размеров, но очень разные показатели? - PullRequest
0 голосов
/ 07 апреля 2019

С удалением 'type' в отображении из релиза 5.x мне нужно создать много индексов.Все индексы имеют документы, которые не имеют много общего.

Например,

Форма поля приложения-1 - Поле A (строка) - Поле B (целое) - C (Дата)

Форма заявки - 2 Поле - X (int) Поле - Y (int) Поле - Z (long)

На одного арендатора может приходиться до 50 заявок.Может масштабироваться до 500 арендаторов.Таким образом, выбранный подход к проектированию может иметь 500 х 50 = 25000 индексов.Тем не менее, у каждого индекса / приложения может быть очень маленький объем памяти (т. Е. От мегабайтов до пары мегабайт в максимуме)

Я прочитал форум, и в основном предлагалось хранить плотные данные в минимальном количестве индексов.Но в моем случае есть много моделей без перекрывающихся полей.Итак, я вижу один вариант - индекс для каждой модели (т. Е. Форму приложения в моем случае использования)

Мой вопрос: это хороший подход к проектированию с учетом варианта использования?или лучшие альтернативы?

1 Ответ

0 голосов
/ 07 апреля 2019

Есть одно решение, чтобы по-прежнему иметь поддельные типы, и Команда Elastic рекомендует , если число документов на осколок будет очень маленьким.

{
  "application1": {
    "a": "string",
    "b": "number",
    "c": "date"
  },
  "application2": {
    "x": "number",
    "y": "number",
    "z": "number"
}

Так что в этом случае application1 иapplication2 служат вам типами.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...