Как оптимизировать / распараллелить группировку solr - PullRequest
0 голосов
/ 03 августа 2020

Я пытаюсь использовать «группировку результатов» функциональность ради оптимизации: вместо того, чтобы делать 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)

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