Я пытаюсь использовать «группировку результатов» функциональность ради оптимизации: вместо того, чтобы делать N запросов к solr и запрашивать продукты (документы) в определенной категории c (специальное поле в каждом do c) Я хочу сделать один запрос и получить все сразу.
Примеры:
1.
GET /select?fq=category:foo&rows=5
[{ean1}, {ean2}]
GET /select?fq=category:bar&rows=5
[{ean3}]
2.
GET /select?group=true&group.query=category:foo&group.query=category:bar&group.limit=5
{
foo: [{ean1}, {ean2}],
bar: [{ean3}],
}
Я предполагал, что второе решение будет быть быстрее, но это не так (для пользователя): в первом примере я делаю вызовы asyn c и получаю результаты от обоих запросов почти одновременно. Итак, хотя в первом примере Solr выполняет больше работы, он делает это параллельно, и в результате пользователи видят ответы быстрее.
Есть какие-нибудь предложения по оптимизации группировки?
(Для контекста: мы используем Solr 5.5.5)