コード例 #1
0
        public void CreateTwoFacetsThatBothHaveMultipleConstraintsApplied()
        {
            SolrNetFacetTestFramework.RunSolrUrlCreationTest(@"http://localhost:8983/solr/select?q=*:*&rows=100000000&fq={!tag=brandsfilter}brand_f:(iPhone+OR+LCD+televisions+OR+LED+televisions+OR+Smartphones)&fq={!tag=manufacturersfilter}manufacturer_f:(Apple+OR+Samsung)&facet=true&facet.field={!key=brands+ex=brandsfilter}brand_f&facet.field={!key=brandsruledout+ex=manufacturersfilter,brandsfilter}brand_f&facet.field={!key=manufacturers+ex=manufacturersfilter}manufacturer_f&facet.field={!key=manufacturersruledout+ex=brandsfilter,manufacturersfilter}manufacturer_f&version=2.2", solr =>
            {
                var querystring = new NameValueCollection
                {
                    {"fb", "Smartphones"},
                    {"fb", "iPhone"},
                    {"fb", "LCD televisions"},
                    {"fb", "LED televisions"},
                    {"fm", "Apple"},
                    {"fm", "Samsung"}
                };

                var queryOptions = new QueryOptions();
                var brandFacet = new BrandFacet(querystring);
                var manufacturerFacet = new ManufacturerFacet(querystring);

                var facets = new IFacet[]
                {
                    brandFacet,
                    manufacturerFacet
                };

                brandFacet.BuildDependencies(facets);
                manufacturerFacet.BuildDependencies(facets);

                brandFacet.BuildQuery(queryOptions);
                manufacturerFacet.BuildQuery(queryOptions);

                return solr.Query(SolrQuery.All, queryOptions);
            });
        }
コード例 #2
0
        public void CreateThreeFacetsWithOneBeingARangeFacetThatAllHaveMultipleConstraintApplied()
        {
            SolrNetFacetTestFramework.RunSolrUrlCreationTest(@"http://localhost:8983/solr/select?q=*:*&rows=100000000&fq={!tag=brandsfilter}brand_f:(iPhone+OR+LCD+televisions+OR+Smartphones)&fq={!tag=manufacturersfilter}manufacturer_f:(Apple+OR+Samsung)&fq={!tag=unitpricefilter}unitprice:([*+TO+99.99]+OR+[100+TO+499.99])&facet=true&facet.field={!key=brands+ex=brandsfilter}brand_f&facet.field={!key=brandsruledout+ex=manufacturersfilter,unitpricefilter,brandsfilter}brand_f&facet.field={!key=manufacturers+ex=manufacturersfilter}manufacturer_f&facet.field={!key=manufacturersruledout+ex=brandsfilter,unitpricefilter,manufacturersfilter}manufacturer_f&facet.query={!label=*-99.99\+ex=unitpricefilter}unitprice:[*+TO+99.99]&facet.query={!label=100-499.99\+ex=unitpricefilter}unitprice:[100+TO+499.99]&facet.query={!label=*-99.99-ruledout\+ex=brandsfilter,manufacturersfilter,unitpricefilter}unitprice:[*+TO+99.99]&facet.query={!label=100-499.99-ruledout\+ex=brandsfilter,manufacturersfilter,unitpricefilter}unitprice:[100+TO+499.99]&version=2.2", solr =>
            {
                var querystring = new NameValueCollection
                    {
                        {"fb", "Smartphones"},
                        {"fb", "iPhone"},
                        {"fb", "LCD televisions"},
                        {"fm", "Apple"},
                        {"fm", "Samsung"},
                        {"fps", "*"},
                        {"fpl", "99.99"},
                        {"fps", "100"},
                        {"fpl", "499.99"},
                    };

                var queryOptions = new QueryOptions();
                var brandFacet = new BrandFacet(querystring);
                var manufacturerFacet = new ManufacturerFacet(querystring);
                var priceFacet = new PriceFacet(querystring, false, new RangeQuery("*", "99.99"), new RangeQuery("100", "499.99"));

                var facets = new IFacet[]
                {
                    brandFacet,
                    manufacturerFacet,
                    priceFacet
                };

                brandFacet.BuildDependencies(facets);
                manufacturerFacet.BuildDependencies(facets);
                priceFacet.BuildDependencies(facets);

                brandFacet.BuildQuery(queryOptions);
                manufacturerFacet.BuildQuery(queryOptions);
                priceFacet.BuildQuery(queryOptions);

                return solr.Query(SolrQuery.All, queryOptions);
            });
        }
コード例 #3
0
        public void CreateThreeFacetsThatAllHaveOneConstraintApplied()
        {
            SolrNetFacetTestFramework.RunSolrUrlCreationTest(@"http://localhost:8983/solr/select?q=*:*&rows=100000000&fq={!tag=brandsfilter}brand_f:(Smartphones)&fq={!tag=manufacturersfilter}manufacturer_f:(Samsung)&fq={!tag=unitpricefilter}unitprice:([500+TO+600])&facet=true&facet.field={!key=brands+ex=brandsfilter}brand_f&facet.field={!key=brandsruledout+ex=manufacturersfilter,unitpricefilter,brandsfilter}brand_f&facet.field={!key=manufacturers+ex=manufacturersfilter}manufacturer_f&facet.field={!key=manufacturersruledout+ex=brandsfilter,unitpricefilter,manufacturersfilter}manufacturer_f&facet.query={!label=500-600\+ex=unitpricefilter}unitprice:[500+TO+600]&facet.query={!label=601-1000\+ex=unitpricefilter}unitprice:[601+TO+1000]&facet.query={!label=500-600-ruledout\+ex=brandsfilter,manufacturersfilter,unitpricefilter}unitprice:[500+TO+600]&facet.query={!label=601-1000-ruledout\+ex=brandsfilter,manufacturersfilter,unitpricefilter}unitprice:[601+TO+1000]&version=2.2", solr =>
            {
                var querystring = new NameValueCollection
                {
                    {"fb", "Smartphones"},
                    {"fm", "Samsung"},
                    {"fps", "500"},
                    {"fpl", "600"}
                };

                var queryOptions = new QueryOptions();
                var brandFacet = new BrandFacet(querystring);
                var manufacturerFacet = new ManufacturerFacet(querystring);
                var priceFacet = new PriceFacet(querystring, false, new RangeQuery("500", "600"), new RangeQuery("601", "1000"));

                var facets = new IFacet[]
                {
                    brandFacet,
                    manufacturerFacet,
                    priceFacet
                };

                brandFacet.BuildDependencies(facets);
                manufacturerFacet.BuildDependencies(facets);
                priceFacet.BuildDependencies(facets);

                brandFacet.BuildQuery(queryOptions);
                manufacturerFacet.BuildQuery(queryOptions);
                priceFacet.BuildQuery(queryOptions);

                return solr.Query(SolrQuery.All, queryOptions);
            });
        }