We have a problem which most of the organizations face. We have a team site created for each of the project in our organization. There are 100-300 project sites being created every year. Each project site associated with metadata like project name, code, status, risk, start date, end date, project lead etc. We have tried both ways 1. add them to site property bag 2. Also, as a SharePoint list with content type to save the project site metadata.
We have common structure for each project team site, like 5 libraries, content types, workflows. When a user is searching for a keyword in search center the OOB search is able to bring all documents fine without any issues which matches the keyword.
Scenario 1: A user may have more than one project as a project lead. Project lead field is mapped to search mappings. And it can be refinable. When they select this refiner in search center, we able to pull the project sites for them, but not documents for that site because they aren't tagged to each document. Using OOB search there is no possible way to achieve this.
Scenario 2: We cannot add site metadata to each document in site as site metadata can change any time and it is not really possible to update all documents when it happened (problems like workflows are running on documents etc.)
Temporary solution is to do custom search with 2 round trips to search API. 1. To get all sites belongs to a project lead. 2. And then scope the documents to those site collections. This isn't going to be a scalable solution due to number of sites growing time to time.
Anybody has any recommendations? Any ideas?
Thanks for the time.