예제 #1
0
        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();
        }
예제 #3
0
        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);
            }
        }