Aggregate Calendar across Site Collection using Search and SPCalendarView
First we have to prepare the data from Sharepoint Search Result.
Some Calendar information such as, Start Time, End Time, and All Day Event do not have managed properties. So we have to create ourselves.
For Start Time use ows_EventDate(Date and Time)
For End Time use ows_EndDate(Date and Time)
For All Day Event use ows_fAllDayEvent(Yes/No)
Don’t forget to do full crawl after that.
After that, we can build Calendar Webpart using SPCalendarView that get data from Search Result that accessed via search object model/API . For Search only return Calendar items, use this condition contentclass = STS_ListItem_Events at your Search Query or applied it at Search Scope.