Вам нужна поддержка 'группировки результатов' или 'свертывания полей', чтобы правильно ее обработать.
В Solr эта функция недоступна ни в одной версии выпуска и находится в стадии разработки. Если вы хотите использовать неизданную версию Solr, тогда получите подробности здесь .
Sphinx поддерживает группировку результатов, и я давным-давно использовал ее в аналогичном проекте. Вы можете получить более подробную информацию здесь .
Альтернативной стратегией может быть предварительная обработка данных, чтобы в индекс вставлялась только одна запись на UPC / SKU. Каждая запись может иметь отдельное поле, содержащее идентификаторы всех элементов с одинаковыми UPC / SKU.
Создание базы данных GROUP BY для продуктов, возвращаемых Solr, может быть недостаточным. Например, если продукты A и B имеют одинаковый UPC и определенный запрос соответствует A, но не B, вы не получите и A, и B в наборе результатов.