public IEnumerable <SearchResult> ExecuteSearch(string[] terms, params string[] indexes) { var searchTerms = SearchTerms.Parse(terms); foreach (var index in GetIndexes(indexes)) { var searchBuilder = CreateSearchBuilder(index, searchTerms.PositiveTerms, searchTerms.NegativeTerms); yield return(new SearchResult { Terms = searchTerms.PositiveTerms, Documents = searchBuilder.Search().Select(DocumentIndexDto.Map).ToArray() }); } }
public IEnumerable <SearchStatistic> GetStatistics(string[] terms, params string[] indexes) { var searchTerms = SearchTerms.Parse(terms); foreach (var index in GetIndexes(indexes)) { var searchBuilder = CreateSearchBuilder(index, searchTerms.PositiveTerms, searchTerms.NegativeTerms); yield return(new SearchStatistic { IndexName = index.Name, TotalDocuments = index.TotalDocuments(), TotalDocumentsFound = searchBuilder.Count() }); } }