Ejemplo n.º 1
0
        // Gets called from JQuery
        public ActionResult RenderPagenationProducts()
        {
            ProductInfoModel   model    = new ProductInfoModel();
            List <productinfo> products = Session["Products"] as List <productinfo>;
            var          start          = products.Count;
            var          query          = getPaginationQuery(start);
            SolrResponse solrResponse   = _searchService.GetProductsFromQuery(query);

            updateSessionParamsWithSolrValues(solrResponse, false);
            model.Products = solrResponse.Data;
            return(PartialView("ProductList", model));
        }
Ejemplo n.º 2
0
 public ActionResult Search(string search)
 {
     {
         var model = new ProductInfoModel();
         updateSessionFilterQuery("Search", search, false);
         var          query        = CreateQuery("0");
         SolrResponse solrResponse = _searchService.GetProductsFromQuery(query);
         updateSessionParamsWithSolrValues(solrResponse, true);
         model.Products   = solrResponse.Data;
         model.Facets     = solrResponse.FacetDictionary;
         model.FacetQuery = solrResponse.FacetQuery;
         return(PartialView("ProductList", model));
     }
 }
Ejemplo n.º 3
0
        public ActionResult SearchSort(string value)
        {
            var model = new ProductInfoModel();

            updateSessionSortQuery(value);
            var          queryStr     = CreateQuery("0");
            SolrResponse solrResponse = _searchService.GetProductsFromQuery(queryStr);

            model.Products   = solrResponse.Data;
            model.Facets     = solrResponse.FacetDictionary;
            model.FacetQuery = solrResponse.FacetQuery;
            updateSessionParamsWithSolrValues(solrResponse, true);
            return(PartialView("ProductList", model));
        }
Ejemplo n.º 4
0
        public ActionResult FeaturedProducts(IEnumerable <string> list)
        {
            ProductInfoModel model = new ProductInfoModel();
            var    counter         = 0;
            string queryString     = "&q=id:(";

            foreach (var id in list)
            {
                counter++;
                queryString += id + " ";
            }
            queryString += ")&facet.field={!ex=Brand}Brand&facet.field={!ex=Category}Category&facet.field={!ex=Tags}Tags&start=0&facet=on&rows=" + counter;
            SolrResponse solrResponse = _searchService.GetProductsFromQuery(queryString);

            model.TotalProducts = solrResponse.TotalProducts;
            model.Products      = solrResponse.Data;
            return(PartialView("ProductList", model));
        }
Ejemplo n.º 5
0
        // Gets called from JQuery In main.js
        // Gets called from Html.Action
        public ActionResult RenderFilterRow()
        {
            ProductInfoModel model = new ProductInfoModel();

            var query = CreateQuery("0");
            //"&q=*:*&facet.field=Brand&facet.field=Category&facet.field=Tags&start=0&facet=on&rows=0&wt=json"
            SolrResponse solrResponse = _searchService.GetProductsFromQuery(query);

            Session["Facets"]        = solrResponse.FacetDictionary;
            Session["TotalProducts"] = solrResponse.TotalProducts;
            Session["FacetQuery"]    = solrResponse.FacetQuery;

            model.FacetQuery    = solrResponse.FacetQuery;
            model.Facets        = solrResponse.FacetDictionary;
            model.TotalProducts = solrResponse.TotalProducts;
            model.Filters       = Session["FilterQuery"] as Dictionary <string, List <string> >;
            model.Sort          = Session["SortQuery"] as string;
            return(PartialView("FilterRow", model));
        }
Ejemplo n.º 6
0
        // Gets called from JQuery
        public ActionResult RenderProducts()
        {
            ProductInfoModel model = new ProductInfoModel();

            if (Session["Products"] != null)
            {
                List <productinfo> products = Session["Products"] as List <productinfo>;
                model.Products = products;
                return(PartialView("ProductList", model));
            }
            else
            {
                var          queryStr     = CreateQuery("0");
                SolrResponse solrResponse = _searchService.GetProductsFromQuery(queryStr);
                model.Products      = solrResponse.Data;
                model.Facets        = solrResponse.FacetDictionary;
                model.TotalProducts = solrResponse.TotalProducts;
                model.FacetQuery    = solrResponse.FacetQuery;
                updateSessionParamsWithSolrValues(solrResponse, true);
                return(PartialView("ProductList", model));
            }
        }
Ejemplo n.º 7
0
        public void updateSessionParamsWithSolrValues(SolrResponse solr, bool newsearch)
        {
            Session["Facets"]        = solr.FacetDictionary;
            Session["TotalProducts"] = solr.TotalProducts;
            Session["FacetQuery"]    = solr.FacetQuery;
            List <productinfo> products = Session["Products"] as List <productinfo>;

            if (newsearch)
            {
                Session["Products"] = solr.Data;
            }
            else
            {
                if (products == null)
                {
                    products = solr.Data;
                }
                else
                {
                    products.AddRange(solr.Data);
                }
            }
        }
Ejemplo n.º 8
0
        static void TestQuery()
        {
            var selectHandler = SolrServerInstance.NewsServer.GetHandler <SolrSelectHandler>();

            selectHandler.Collection = "web";

            var query = new SolrSelectRequest();

            query.q  = "*:*";
            query.fq = new List <string>()
            {
                "id:160600001623"
            };
            query.collection = "web,epaper";

            var q = query.GetQuery();

            var response = selectHandler.Request(query);

            response.Wait();

            SolrResponse.AddResponseTypeMap <SolrResponse <WebDocument> >("response");
            var d = response.Result.GetData <SolrResponse <WebDocument> >();
        }