У нас есть родительские документы, проиндексированные в одном индексе, и дочерние документы, проиндексированные в другом. Причиной этого является производительность
- , поскольку у нас может быть тысяча детских документов.
- , чтобы иметь возможность разбивать на страницы детей по отдельности.
Предыдущая настройка была с вложенными полями , но у нас возникли проблемы с производительностью, и мы не смогли должным образом разбить страницы на дочерние элементы.
Требование поиска должно быть в состоянии сопоставить родительские + дочерние элементы, т.е. родитель, у которого есть сопоставление для себя или в дочерних элементах, а также совпадающие дочерние элементы [необязательно].
Таким образом, мы используем агрегации для дочерних элементов, чтобы получить родительские идентификаторы, а затем делаем другой запрос для родителей, используя OR
условие, чтобы быть в состоянии разбить на родителей самостоятельно. т.е. родитель имеет совпадающее ИЛИ имеет идентификатор от дочерних совпадений
В настоящее время проблема заключается в том, что ответ агрегации может быть больше 10 000 (даже несколько раз), и мы не хотим его разрешать, изменяя конфигурацию search.max_buckets
причина Это более или менее временное решение, и оно будет работать медленно.
Любая идея, как справиться с этой настройкой / требованием, чтобы иметь возможность разбивать на страницы родителей, разбивать на страницы детей, сортировать родителей, искать по родителям + детям, искать через только дети?