Вы смотрите на результаты группировки или структуру нормальных хитов? Обратите внимание, что выражение группировки никоим образом не повлияет на возвращаемые нормальные попадания.
Возможно, вы захотите добавить LIMIT 0 / hit = 0 и смотреть только результаты из выражения группировки.
Вам также необходимо (стабильное) упорядочение попаданий для разбиения на страницы по продолжениям, чтобы работать хорошо. Обычно это так, поскольку в большинстве случаев используется выражение ранжирования.
Порядок по умолчанию в выражениях группировки - по рангу - в синтаксисе выражения группировки это будет порядок (max (релевантность)) ).
Приведенный выше запрос ограничивает только тип документа. Все документы этого типа будут одинаково хорошо соответствовать этому запросу. Я проверил это, используя пример приложения «album-рекомендации-self-hoted», и релевантность была равна 0 для всех документов. Когда релевантность одинакова для всех документов, порядок будет по существу случайным. То же самое может произойти при выполнении, например, order (-count ()), если count () одинаков для нескольких групп.
Мне удалось достичь ожидаемых результатов, добавив и используя профиль ранжирования с использованием случайного Функция ранга .match: https://docs.vespa.ai/documentation/reference/rank-features.html#random Я считаю, что это должно обеспечить стабильный порядок попаданий, хотя это может привести к разным результатам, если запрос будет отправлен на разные (группы) хосты контента. Если вам требуется стабильное глобальное упорядочение, рассмотрите возможность хранения случайного числа с плавающей запятой / двойного числа для каждого документа для ранжирования / упорядочения - это также можно использовать как «t ie breaker», чтобы обеспечить стабильный порядок из выражений ранжирования.