Для Solr есть патч , который добавляет коллапс поля.Он работает довольно хорошо, за исключением тех случаев, когда сообщается о проблемах, когда возвращаемый набор результатов имеет длину в миллионы документов.
Кроме того, он не очень точно вычисляет номера фасетов - иногда общее количество всех фасетов не совпадает сколичество документов в комплекте.Тем не менее, разница всегда невелика - я заметил колебания менее 100 для набора результатов из 10000-50000 документов.
Очевидно, что для использования этого патча вам придется создать свою собственную версиюSolr.Если вас это не устраивает, вы можете попробовать уже созданную версию, которую я использую.Я загрузил в свой SkyDrive как пропатченный .war-файл, так и мою папку «lib» (не уверен, нужен ли он последним и вносит ли патч какие-либо изменения в библиотеки, но на всякий случай, если они тоже есть).Также я должен отметить, что эту версию следует использовать только на свой страх и риск - они служат мне без каких-либо серьезных претензий, но я не могу гарантировать то же самое для других.Вот ссылка для скачивания .
В качестве альтернативы, вы можете подождать, пока Solr 4 выйдет - он будет включать в себя свертывание полей, но он все еще несет нерешенные критические проблемы в прошлый раз, когда я проверял.Кстати, его свертываемые параметры поиска не будут совместимы с патчем, описанным выше, поэтому вы используете сначала один, а затем другой, вам также нужно изменить свой код.