Это непростая задача с подводными камнями, о которых вы должны знать:
- Тип поиска по индексу поиска может привести к перегрузке системы с узким местом для сервера SQL (высокий трафик между внешним и внутренним интерфейсом).
- Кэширование затруднено, поскольку для поиска, который вы, вероятно, хотите кэшировать для каждого пользователя, чтобы избежать проблем с безопасностью.
Используйте пейджинг, чтобы избежать возврата всего набора:
using Microsoft.Office.Server.Search.Query;
// ...
Query query = new FullTextSqlQuery(site);
query.StartRow = x;
query.RowLmit = 10;
Проверьте наш продукт MatchPoint . MatchPoint - это инфраструктура приложений для SharePoint, включающая набор веб-частей, обеспечивающих функциональность, необходимую для этой задачи.