protected void Page_Load(object sender, EventArgs e)
 {
     using (var service = new SearchService("site"))
     {
         litOutput.Text = HtmlWriter.Generate(w => GenerateOutput(w, service));
     }
 }
 private static void GenerateOutput(HtmlWriter writer, SearchService service)
 {
     writer.RenderBeginTag(HtmlTextWriterTag.Ul);
     foreach (var record in service.GetAllRecords().OrderBy(r => r.Id))
     {
         var id = record.Id;
         writer.RenderBeginTag(HtmlTextWriterTag.Li);
         var href = "/test/IndexDetails.aspx?id=" + HttpUtility.UrlEncode(id);
         writer.RenderLinkTag(href, id);
         writer.RenderEndTag();
     }
     writer.RenderEndTag();
 }
 protected override void RenderPart(LinqIt.Utils.Web.HtmlWriter writer)
 {
     using (var service = new SearchService("site"))
     {
         var q = BooleanQuery.Or(Request.QueryString["query"].ToLower().Split(' ').Where(s => !string.IsNullOrEmpty(s)).Select(s => new WildCardQuery("text", "*" + s + "*")).ToArray());
         var result = service.Search(q, 0, int.MaxValue);
         foreach (var record in result.Records)
         {
             writer.RenderBeginTag(HtmlTextWriterTag.Div, "search-result");
             writer.RenderBeginTag(HtmlTextWriterTag.H3);
             writer.RenderLinkTag(record.GetString("url"), record.GetString("title"));
             writer.RenderEndTag();
             writer.RenderFullTag(HtmlTextWriterTag.Div, record.GetString("text"));
             writer.RenderEndTag();
         }
     }
 }
        protected void Page_Load(object sender, EventArgs e)
        {
            using (var service = new SearchService("site"))
            {
                string id = Request.QueryString["id"];
                var record = service.GetAllRecords().Where(r => r.Id == id).FirstOrDefault();

                var header = new TableRow();
                header.Cells.Add(new TableCell() {Text = "Field"});
                header.Cells.Add(new TableCell() {Text = "Value"});
                table.Rows.Add(header);

                var fields = service.GetAllTerms();
                foreach (var field in fields)
                {
                    var row = new TableRow();
                    row.Cells.Add(new TableCell() {Text = field});
                    row.Cells.Add(new TableCell() {Text = record.GetString(field)});
                    table.Rows.Add(row);
                }
            }
        }
        public SearchResult PerformSearch(SearchFilter filter)
        {
            using (var service = new SearchService("site"))
            {
                var site = CmsService.Instance.SitePath.Split('/').Last();

                var query = new QueryList();
                query.SubQueries.Add(new TermQuery("site", site));

                if (!string.IsNullOrEmpty(filter.TemplateName))
                    query.SubQueries.Add(new TermQuery("template", filter.TemplateName));
                if (!string.IsNullOrEmpty(filter.Query))
                {
                    foreach (var term in filter.Query.ToLower().Split(' '))
                        query.SubQueries.Add(new WildCardQuery("text", term));
                }
                if (filter.From.HasValue || filter.To.HasValue)
                    query.SubQueries.Add(new DateRangeQuery("date", filter.From, filter.To));
                if (filter.CategorizationIds != null && filter.CategorizationIds.Any())
                {
                    if (filter.CategorizationIds.Length == 1)
                        query.SubQueries.Add(new WildCardQuery("categorizations", filter.CategorizationIds[0].ToString()));
                    else
                    {
                        var categorizationFolder = CategorizationFolder.Get();
                        var types = categorizationFolder.GetTypes(filter.CategorizationIds);
                        var typeQueries = new List<Query>();
                        foreach (var typeIds in types.Select(type => filter.CategorizationIds.Where(type.HasItem).ToArray()))
                        {
                            if (typeIds.Length == 1)
                                typeQueries.Add(new WildCardQuery("categorizations", typeIds[0].ToString()));
                            else
                                typeQueries.Add(BooleanQuery.Or(typeIds.Select(id => new WildCardQuery("categorizations", id.ToString())).ToArray()));
                        }
                        query.SubQueries.Add(BooleanQuery.And(typeQueries.ToArray()));
                    }
                }

                return service.Search(query, 0, int.MaxValue);
            }
        }
Esempio n. 6
0
        public SearchResult PerformSearch(SearchFilter filter)
        {
            using (var service = new SearchService("site"))
            {
                var query = new QueryList();
                if (!string.IsNullOrEmpty(filter.TemplateName))
                    query.SubQueries.Add(new TermQuery("template", filter.TemplateName));
                if (!string.IsNullOrEmpty(filter.Query))
                {
                    foreach (var term in filter.Query.ToLower().Split(' '))
                        query.SubQueries.Add(new WildCardQuery("text", term));
                }
                if (filter.From.HasValue || filter.To.HasValue)
                    query.SubQueries.Add(new DateRangeQuery("date", filter.From, filter.To));
                if (filter.SubjectIds != null && filter.SubjectIds.Any())
                {
                    if (filter.SubjectIds.Length == 1)
                        query.SubQueries.Add(new WildCardQuery("subjects", filter.SubjectIds[0].ToString()));
                    else
                        query.SubQueries.Add(BooleanQuery.Or(filter.SubjectIds.Select(id => new WildCardQuery("subjects", id.ToString())).ToArray()));
                }

                return service.Search(query, 0, int.MaxValue);
            }
        }