Пожалуйста, найдите ответы в строке:
- Можно ли часто обновлять документы для увеличения поля?
Это очень субъективно и основано на различных параметрах, таких как, сколько документы в вашем индексе, сколько сегментов, сколько узлов данных и какова ваша запись QPS et c, Elasticsearch очень масштабируем, и если вы настроите свой кластер и индекс, вы сможете получить очень высокую пропускную способность без каких-либо проблем. Если вы предоставите более подробную информацию, мы можем порекомендовать, как настроить это для системы с высокой степенью записи, такой как ваша. Пожалуйста, обратитесь ES блог для настройки скорости индексации
Мы планируем использовать API обновления для обновления поля. Будет ли он переиндексировать весь документ? Есть ли возможность обновить только указанное поле c без переиндексации других полей?
Да, даже если вы обновите поле, внутренне упорядоченный поиск помечает старый документ как удаленный (программно удаленный) и создает новый документ, а затем при объединении сегментов старый удаленный документ фактически удаляется. Более подробная информация о частичном обновлении ES подробно описана Elastician в этом ответе SO
Будет хорошо, если у нас будет два индекса или индекс с двумя типами, один для профиля, другой для сводки?
Это зависит от того, нужно ли при поиске запрашивать оба индекса ( типы устарели в последней версии ), поэтому не имеет смысла создавать два индекса, поскольку денормализованные данные улучшат производительность поиска.
Также создание двух индексов с Объединение будет немного сложным для реализации, и в любом случае, поскольку вам нужно будет часто обновлять данные транзакции для автора, который будет иметь большую часть данных о продавцах, а обновления с большим индексом обходятся дороже, поэтому даже если вы сохраняете обновления на индекс профиля, но все же, поскольку он будет очень маленьким, ИМХО, он не даст гораздо лучшей производительности, но вы можете протестировать его с помощью стресс-тестирования.