/// <summary> /// Search a term in the index document by company's user /// </summary> /// <param name="searchParameters">parameters for search</param> /// <param name="usrUser">user data</param> /// <returns></returns> public IEnumerable <clsDocumentPdfIndex> SearchDocuments(clsDocumentPdfSearch searchParameters, User usrUser) { var idxSearch = CreateIfNotExistIndex(usrUser, cnsIndexTypes.Documents); // Initialize client search var client = new SearchIndexClient(ConfigurationManager.AppSettings["SearchServiceName"], idxSearch.IndexName, new SearchCredentials(ConfigurationManager.AppSettings["SearchApiKey"])); var strFilter = String.Join(" and ", searchParameters.FilterMetadata.Select(x => x.FilterExpression).ToArray()); ; var parameters = new SearchParameters() { SearchMode = SearchMode.Any, Filter = strFilter, Top = searchParameters.TopResults, Skip = searchParameters.SkipResults }; var searchResults = client.Documents.Search <clsDocumentPdfIndex>(searchParameters.SearchWords, parameters).Results; var enumResult = from list in searchResults select list.Document; return(enumResult); }
public JsonResult fntAzureSearch(clsDocumentPdfSearch parameters, int?page) { IndexFiles indexFiles = new IndexFiles(); List <Enlace> lstTempEnlaces = new List <Enlace>(); ClsContainer cntContenedores = new ClsContainer(); try { var lstResult = indexFiles.SearchDocuments(parameters, usrUser); foreach (var item in lstResult) { lstTempEnlaces.Add(new Enlace { alterName = item.AlterName, referencialMonth = item.ReferencialMonth, referencialYear = item.ReferencialYear, container = item.Container, application = item.Application, module = item.Module, documentUploadAt = item.DocumentUploadAt, page = item.Page, uri = fntReturnUri(item.Container, item.FullName, item.Page) }); } } catch (Exception) { } finally { cntContenedores.lstEnlaces = lstTempEnlaces; } return(Json(cntContenedores.lstEnlaces)); }