public void CreateARangeFacetAndAttemptingToApplyAConstraintWithOnlyAMinValueSuppliedShouldDefaultToStandardSettings() { SolrNetFacetTestFramework.RunSolrUrlCreationTest(@"http://localhost:8983/solr/select?q=*:*&rows=100000000&facet=true&facet.query={!label=*-99.99}unitprice:[*+TO+99.99]&facet.query={!label=100-499.99}unitprice:[100+TO+499.99]&version=2.2", solr => { var querystring = new NameValueCollection { {"fps", "*"} }; var queryOptions = new QueryOptions(); var facet = new PriceFacet(querystring, true, new RangeQuery("*", "99.99"), new RangeQuery("100", "499.99")); facet.BuildQuery(queryOptions); return solr.Query(SolrQuery.All, queryOptions); }); }
public void CreateARangeFacetThatWillOnlyApplyTheFirstConstraintWhenMultipleConstraintsHaveBeenPassedInToBeApplied() { SolrNetFacetTestFramework.RunSolrUrlCreationTest(@"http://localhost:8983/solr/select?q=*:*&rows=100000000&fq={!tag=unitpricefilter}unitprice:([*+TO+99.99])&facet=true&facet.query={!label=*-99.99\+ex=unitpricefilter}unitprice:[*+TO+99.99]&facet.query={!label=100-499.99\+ex=unitpricefilter}unitprice:[100+TO+499.99]&version=2.2", solr => { var querystring = new NameValueCollection { {"fps", "*"}, {"fpl", "99.99"}, {"fps", "100"}, {"fpl", "499.99"}, }; var queryOptions = new QueryOptions(); var facet = new PriceFacet(querystring, true, new RangeQuery("*", "99.99"), new RangeQuery("100", "499.99")); facet.BuildQuery(queryOptions); return solr.Query(SolrQuery.All, queryOptions); }); }
public void CreateARangeFacetThatWillPerformAFreeSearch() { SolrNetFacetTestFramework.RunSolrUrlCreationTest(@"http://localhost:8983/solr/select?q=*:*&rows=100000000&fq={!tag=unitpricefilter}unitprice:([112.87+TO+2567.96])&facet=true&facet.query={!label=112.87-2567.96\+ex=unitpricefilter}unitprice:[112.87+TO+2567.96]&version=2.2", solr => { var querystring = new NameValueCollection { {"fpfs", "112.87"}, {"fpfl", "2567.96"} }; var queryOptions = new QueryOptions(); var facet = new PriceFacet(querystring, false, new RangeQuery("*", "99.99"), new RangeQuery("100", "499.99")); facet.BuildQuery(queryOptions); return solr.Query(SolrQuery.All, queryOptions); }); }
public void CreateTwoFacetsWithOneBeingARangeFacetThatBothHaveMultipleConstraintsApplied() { SolrNetFacetTestFramework.RunSolrUrlCreationTest(@"http://localhost:8983/solr/select?q=*:*&rows=100000000&fq={!tag=unitpricefilter}unitprice:([*+TO+99.99]+OR+[100+TO+499.99])&fq={!tag=brandsfilter}brand_f:(iPhone+OR+LCD+televisions+OR+LED+televisions+OR+Smartphones)&facet=true&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,unitpricefilter}unitprice:[*+TO+99.99]&facet.query={!label=100-499.99-ruledout\+ex=brandsfilter,unitpricefilter}unitprice:[100+TO+499.99]&facet.field={!key=brands+ex=brandsfilter}brand_f&facet.field={!key=brandsruledout+ex=unitpricefilter,brandsfilter}brand_f&version=2.2", solr => { var querystring = new NameValueCollection { {"fps", "*"}, {"fpl", "99.99"}, {"fps", "100"}, {"fpl", "499.99"}, {"fb", "Smartphones"}, {"fb", "iPhone"}, {"fb", "LCD televisions"}, {"fb", "LED televisions"} }; var queryOptions = new QueryOptions(); var brandFacet = new BrandFacet(querystring); var priceFacet = new PriceFacet(querystring, false, new RangeQuery("*", "99.99"), new RangeQuery("100", "499.99")); var facets = new IFacet[] { priceFacet, brandFacet }; priceFacet.BuildDependencies(facets); brandFacet.BuildDependencies(facets); priceFacet.BuildQuery(queryOptions); brandFacet.BuildQuery(queryOptions); return solr.Query(SolrQuery.All, queryOptions); }); }
public void CreateARangeFacetWithNoConstraintsAppliedWithParametersNotInOrderOfSmallestFirstShouldStillCreateCorrectCallThatHaveFacetQueriesInOrder() { SolrNetFacetTestFramework.RunSolrUrlCreationTest(@"http://localhost:8983/solr/select?q=*:*&rows=100000000&facet=true&facet.query={!label=*-99.99}unitprice:[*+TO+99.99]&facet.query={!label=100-499.99}unitprice:[100+TO+499.99]&version=2.2", solr => { var queryOptions = new QueryOptions(); var facet = new PriceFacet(new NameValueCollection(), false, new RangeQuery("100", "499.99"), new RangeQuery("*", "99.99")); facet.BuildQuery(queryOptions); return solr.Query(SolrQuery.All, queryOptions); }); }
public void CreateARangeFacetWhichPerformsAFreeSearchEvenThoughMultipleSelectionSearchIsDefinedButIsNotPartOfTheSelection() { SolrNetFacetTestFramework.RunSolrUrlCreationTest(@"http://localhost:8983/solr/select?q=*:*&rows=100000000&fq={!tag=unitpricefilter}unitprice:([10.96+TO+56.87])&facet=true&facet.query={!label=10.96-56.87\+ex=unitpricefilter}unitprice:[10.96+TO+56.87]&version=2.2", solr => { var querystring = new NameValueCollection { {"fps", "*"}, {"fpl", "88.88"}, {"fps", "200"}, {"fpl", "499.99"}, {"fpfs", "10.96"}, {"fpfl", "56.87"} }; var queryOptions = new QueryOptions(); var facet = new PriceFacet(querystring, false, new RangeQuery("100", "499.99"), new RangeQuery("*", "99.99")); facet.BuildQuery(queryOptions); return solr.Query(SolrQuery.All, queryOptions); }); }
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); }); }