У нас есть 27 миллионов документов, распределенных по 3 сегментам, каждый из которых содержит примерно 9 миллионов документов. Каждый документ имеет ~ 15 проиндексированных полей. Требование состоит в том, чтобы мы могли фильтровать эти документы, используя комбинации проиндексированных полей. count() занимает не более 20 секунд для сложных запросов.
Нам также нужно извлечь конкретное поле тех документов, которые соответствуют фильтрам, используя find(). Однако иногда это занимает несколько минут, особенно если результат превышает 1 миллион документов. Это выполняется через вызов веб-службы, поэтому иногда возникает тайм-аут.
Я хочу знать, может ли добавление большего количества осколков решить проблему или есть другие способы оптимизации, которые мы можем применить.
Спасибо!