public IEnumerable <DocumentoRepositorio> BuscarDocumentosExpediente(IEnumerable <string> referencias, IEnumerable <string> nombreDocumentos) { List <DocumentoRepositorio> resultado = new List <DocumentoRepositorio>(); StringBuilder busquedaStr = new StringBuilder(); foreach (string referencia in referencias) { busquedaStr.Append("({LF:Name=\"" + referencia + "\", Type=\"F\" } & ({LF:ParentName=\"IMPO\"}|{LF:ParentName=\"EXPO\"})) |"); } busquedaStr.Remove(busquedaStr.Length - 1, 1); Search busqueda = new Search(Sesion, busquedaStr.ToString()); busqueda.Run(); SearchListingSettings configuracionResultadoBusqueda = new SearchListingSettings(); configuracionResultadoBusqueda.EntryFilter = EntryTypeFilter.Folders; SearchResultListing resultadosBusqueda = busqueda.GetResultListing(configuracionResultadoBusqueda); //Atencion: Este listado esta en base 1 for (int i = 1; i <= resultadosBusqueda.RowCount; i++) { EntryInfo informacionEntrada = resultadosBusqueda.GetEntryInfo(i); ExplorarDirectorio(informacionEntrada, informacionEntrada.Name, ref resultado); } busqueda.Close(); return(resultado); }
protected void Page_Load(object sender, EventArgs e) { SearchTerm = Request.QueryString["s"]; if (string.IsNullOrEmpty(SearchTerm)) { return; } var criteria = ExamineManager.Instance .SearchProviderCollection["BrandCenterSearchSearcher"] .CreateSearchCriteria(); // include fields to be searched var filter = criteria .GroupedOr(new string[] { "nodeName", "bodyText", "title", "description", "hTMLContent", "copy" }, SearchTerm) .Not() .Field("umbracoNaviHide", "1") .Compile(); // to limit search to one parent node, use ExamineIndex.config and add IndexParentID="" to IndexSet attribute // no stemming search is available //Searching and ordering the result by score, and we only want to get the results that has a minimum of 0.05(scale is up to 1.) SearchResults = ExamineManager.Instance.SearchProviderCollection["BrandCenterSearchSearcher"].Search(filter).OrderByDescending(x => x.Score).TakeWhile(x => x.Score > 0.05f); SearchResultListing.DataSource = SearchResults; SearchResultListing.DataBind(); }
public DocumentoRepositorio BuscarCarpetaReferencia(string Referencia) { string busquedaStr = "{LF:Name=\"" + Referencia + "\", Type=\"F\" } & ({LF:ParentName=\"IMPO\"}|{LF:ParentName=\"EXPO\"})"; using (Search busqueda = new Search(Sesion, busquedaStr)) { busqueda.Run(); SearchListingSettings configuracionResultadoBusqueda = new SearchListingSettings(); configuracionResultadoBusqueda.EntryFilter = EntryTypeFilter.Folders; FolderInfo informacionEntrada; SearchResultListing resultadosBusqueda = busqueda.GetResultListing(configuracionResultadoBusqueda); try { informacionEntrada = (FolderInfo)resultadosBusqueda.GetEntryInfo(1); } catch (Exception exc) { return(null); } finally { busqueda.Close(); } DocumentoRepositorio documento = new DocumentoRepositorio() { Directorio = true, Nombre = informacionEntrada.Name, Repositorio = Repositorio.Laserfiche, IdDocumento = informacionEntrada.Id.ToString(), Referencia = Referencia, Ruta = informacionEntrada.Path }; return(documento); } }