List of usage examples for org.apache.solr.common SolrDocumentList SolrDocumentList
SolrDocumentList
From source file:org.opencommercesearch.RuleManagerTest.java
License:Apache License
@Test public void testLoadRulesVerifyQueryWithCategory() throws RepositoryException, SolrServerException { SolrDocumentList solrDocumentList = new SolrDocumentList(); String category = "My super duper favorite Men's category"; String searchQuery = "fantastic jackets )"; String escapedSearchQuery = "fantastic\\ jackets\\ \\)"; when(queryResponse.getResults()).thenReturn(solrDocumentList); when(server.query(any(SolrParams.class))).thenReturn(queryResponse); // ----------- set up rule manager ------------- RuleManager mgr = new RuleManager(repository, builder, server); // ------------ make the call to load the rules etc ------------- mgr.loadRules(searchQuery, null, category, true, false, cataA, false, null, new HashSet<String>(), new HashSet<String>()); // ------------ assertions about the inner solr query that was performed ----------- ArgumentCaptor<SolrQuery> query = ArgumentCaptor.forClass(SolrQuery.class); verify(server).query(query.capture()); List<String> filters = Arrays.asList(query.getValue().getFilterQueries()); assertEquals(7, filters.size());/*from ww w .j ava 2s.c om*/ assertEquals("*:*", query.getValue().getQuery()); assertEquals( "(target:allpages OR target:searchpages) AND ((" + escapedSearchQuery + ")^2 OR query:__all__)", filters.get(0)); assertEquals("category:__all__ OR category:" + category, filters.get(1)); assertEquals("siteId:__all__ OR siteId:site:alpha", filters.get(2)); assertEquals("brandId:__all__", filters.get(3)); assertEquals("subTarget:__all__ OR subTarget:Retail", filters.get(4)); assertEquals("catalogId:__all__ OR catalogId:cata:alpha", filters.get(5)); assertEquals( "-(((startDate:[* TO *]) AND -(startDate:[* TO NOW/DAY+1DAY])) OR (endDate:[* TO *] AND -endDate:[NOW/DAY+1DAY TO *]))", filters.get(6)); }
From source file:org.opencommercesearch.RuleManagerTest.java
License:Apache License
@Test public void testLoadRulesForCategoryPage() throws RepositoryException, SolrServerException { SolrDocumentList solrDocumentList = new SolrDocumentList(); String category = "My category"; String searchQuery = "catId:myCat"; when(queryResponse.getResults()).thenReturn(solrDocumentList); when(server.query(any(SolrParams.class))).thenReturn(queryResponse); // ----------- set up rule manager ------------- RuleManager mgr = new RuleManager(repository, builder, server); // ------------ make the call to load the rules etc ------------- mgr.loadRules(searchQuery, null, category, false, false, cataA, false, null, new HashSet<String>(), new HashSet<String>()); // ------------ assertions about the inner solr query that was performed ----------- ArgumentCaptor<SolrQuery> query = ArgumentCaptor.forClass(SolrQuery.class); verify(server).query(query.capture()); List<String> filters = Arrays.asList(query.getValue().getFilterQueries()); assertEquals(7, filters.size());/*w w w . j a v a 2s. c om*/ assertEquals("*:*", query.getValue().getQuery()); assertEquals("target:allpages OR target:categorypages", filters.get(0)); assertEquals("category:__all__ OR category:" + category, filters.get(1)); assertEquals("siteId:__all__ OR siteId:site:alpha", filters.get(2)); assertEquals("brandId:__all__", filters.get(3)); assertEquals("subTarget:__all__ OR subTarget:Retail", filters.get(4)); assertEquals("catalogId:__all__ OR catalogId:cata:alpha", filters.get(5)); assertEquals( "-(((startDate:[* TO *]) AND -(startDate:[* TO NOW/DAY+1DAY])) OR (endDate:[* TO *] AND -endDate:[NOW/DAY+1DAY TO *]))", filters.get(6)); }
From source file:org.opencommercesearch.RuleManagerTest.java
License:Apache License
@Test public void testLoadRulesVerifyQueryWithoutCategory() throws RepositoryException, SolrServerException { SolrDocumentList solrDocumentList = new SolrDocumentList(); String category = ""; String searchQuery = "fantastic jackets"; String escapedSearchQuery = "fantastic\\ jackets"; when(queryResponse.getResults()).thenReturn(solrDocumentList); when(server.query(any(SolrParams.class))).thenReturn(queryResponse); // ----------- set up rule manager ------------- RuleManager mgr = new RuleManager(repository, builder, server); // ------------ make the call to load the rules etc ------------- mgr.loadRules(searchQuery, null, category, true, false, cataA, false, null, new HashSet<String>(), new HashSet<String>()); // ------------ assertions about the inner solr query that was performed ----------- ArgumentCaptor<SolrQuery> query = ArgumentCaptor.forClass(SolrQuery.class); verify(server).query(query.capture()); List<String> filters = Arrays.asList(query.getValue().getFilterQueries()); assertEquals(7, filters.size());// w w w . j a v a2s . c o m assertEquals("*:*", query.getValue().getQuery()); assertEquals("(target:allpages OR target:searchpages) AND ((fantastic\\ jackets)^2 OR query:__all__)", filters.get(0)); assertEquals("category:__all__", filters.get(1)); assertEquals("siteId:__all__ OR siteId:site:alpha", filters.get(2)); assertEquals("brandId:__all__", filters.get(3)); assertEquals("subTarget:__all__ OR subTarget:Retail", filters.get(4)); assertEquals("catalogId:__all__ OR catalogId:cata:alpha", filters.get(5)); assertEquals( "-(((startDate:[* TO *]) AND -(startDate:[* TO NOW/DAY+1DAY])) OR (endDate:[* TO *] AND -endDate:[NOW/DAY+1DAY TO *]))", filters.get(6)); }
From source file:org.opencommercesearch.RuleManagerTest.java
License:Apache License
@Test public void testLoadRulesEmptyResults() throws RepositoryException, SolrServerException { // test the empty queryResponse path SolrDocumentList solrDocumentList = new SolrDocumentList(); when(queryResponse.getResults()).thenReturn(solrDocumentList); when(server.query(any(SolrParams.class))).thenReturn(queryResponse); // ----------- set up rule manager ------------- RuleManager mgr = new RuleManager(repository, builder, server); assertEquals(null, mgr.getRules());//ww w . j av a 2s . c o m // ------------ make the call to load the rules etc ------------- mgr.loadRules("pants", null, "Women's Clothing", true, false, cataA, false, null, new HashSet<String>(), new HashSet<String>()); assertNotNull(mgr.getRules()); assertEquals(0, mgr.getRules().size()); }
From source file:org.opencommercesearch.RuleManagerTest.java
License:Apache License
@Test public void testOutletCategoryRule() throws SolrServerException, RepositoryException { SolrDocumentList solrDocumentList = new SolrDocumentList(); String category = "My category"; String searchQuery = "catId:myCat"; when(queryResponse.getResults()).thenReturn(solrDocumentList); when(server.query(any(SolrParams.class))).thenReturn(queryResponse); // ----------- set up rule manager ------------- RuleManager mgr = new RuleManager(repository, builder, server); // ------------ make the call to load the rules etc ------------- mgr.loadRules(searchQuery, null, category, false, false, cataA, true, null, new HashSet<String>(), new HashSet<String>()); // ------------ assertions about the inner solr query that was performed ----------- ArgumentCaptor<SolrQuery> query = ArgumentCaptor.forClass(SolrQuery.class); verify(server).query(query.capture()); List<String> filters = Arrays.asList(query.getValue().getFilterQueries()); assertEquals(7, filters.size());/*from ww w. ja va 2 s. c o m*/ assertEquals("*:*", query.getValue().getQuery()); assertEquals("target:allpages OR target:categorypages", filters.get(0)); assertEquals("category:__all__ OR category:" + category, filters.get(1)); assertEquals("siteId:__all__ OR siteId:site:alpha", filters.get(2)); assertEquals("brandId:__all__", filters.get(3)); assertEquals("subTarget:__all__ OR subTarget:Outlet", filters.get(4)); assertEquals("catalogId:__all__ OR catalogId:cata:alpha", filters.get(5)); assertEquals( "-(((startDate:[* TO *]) AND -(startDate:[* TO NOW/DAY+1DAY])) OR (endDate:[* TO *] AND -endDate:[NOW/DAY+1DAY TO *]))", filters.get(6)); }
From source file:org.opencommercesearch.RuleManagerTest.java
License:Apache License
@Test public void testRetailCategoryRule() throws SolrServerException, RepositoryException { SolrDocumentList solrDocumentList = new SolrDocumentList(); String category = "My category"; String searchQuery = "catId:myCat"; when(queryResponse.getResults()).thenReturn(solrDocumentList); when(server.query(any(SolrParams.class))).thenReturn(queryResponse); // ----------- set up rule manager ------------- RuleManager mgr = new RuleManager(repository, builder, server); // ------------ make the call to load the rules etc ------------- mgr.loadRules(searchQuery, null, category, false, false, cataA, false, null, new HashSet<String>(), new HashSet<String>()); // ------------ assertions about the inner solr query that was performed ----------- ArgumentCaptor<SolrQuery> query = ArgumentCaptor.forClass(SolrQuery.class); verify(server).query(query.capture()); List<String> filters = Arrays.asList(query.getValue().getFilterQueries()); assertEquals(7, filters.size());/*from w w w . j a va 2s . c om*/ assertEquals("*:*", query.getValue().getQuery()); assertEquals("target:allpages OR target:categorypages", filters.get(0)); assertEquals("category:__all__ OR category:" + category, filters.get(1)); assertEquals("siteId:__all__ OR siteId:site:alpha", filters.get(2)); assertEquals("brandId:__all__", filters.get(3)); assertEquals("subTarget:__all__ OR subTarget:Retail", filters.get(4)); assertEquals("catalogId:__all__ OR catalogId:cata:alpha", filters.get(5)); assertEquals( "-(((startDate:[* TO *]) AND -(startDate:[* TO NOW/DAY+1DAY])) OR (endDate:[* TO *] AND -endDate:[NOW/DAY+1DAY TO *]))", filters.get(6)); }
From source file:org.opencommercesearch.RuleManagerTest.java
License:Apache License
@Test public void testBrandCategoryRule() throws SolrServerException, RepositoryException { SolrDocumentList solrDocumentList = new SolrDocumentList(); String category = "My category"; String searchQuery = "catId:myCat"; String brandId = "54"; when(queryResponse.getResults()).thenReturn(solrDocumentList); when(server.query(any(SolrParams.class))).thenReturn(queryResponse); // ----------- set up rule manager ------------- RuleManager mgr = new RuleManager(repository, builder, server); // ------------ make the call to load the rules etc ------------- mgr.loadRules(searchQuery, null, category, false, false, cataA, false, brandId, new HashSet<String>(), new HashSet<String>()); // ------------ assertions about the inner solr query that was performed ----------- ArgumentCaptor<SolrQuery> query = ArgumentCaptor.forClass(SolrQuery.class); verify(server).query(query.capture()); List<String> filters = Arrays.asList(query.getValue().getFilterQueries()); assertEquals(7, filters.size());// ww w .j a v a 2s .c om assertEquals("*:*", query.getValue().getQuery()); assertEquals("target:allpages OR target:categorypages", filters.get(0)); assertEquals("category:__all__ OR category:" + category, filters.get(1)); assertEquals("siteId:__all__ OR siteId:site:alpha", filters.get(2)); assertEquals("brandId:__all__ OR brandId:54", filters.get(3)); assertEquals("subTarget:__all__ OR subTarget:Retail", filters.get(4)); assertEquals("catalogId:__all__ OR catalogId:cata:alpha", filters.get(5)); assertEquals( "-(((startDate:[* TO *]) AND -(startDate:[* TO NOW/DAY+1DAY])) OR (endDate:[* TO *] AND -endDate:[NOW/DAY+1DAY TO *]))", filters.get(6)); }
From source file:org.opencommercesearch.RuleManagerTest.java
License:Apache License
@Test public void testIncludeRulesExperimental() throws RepositoryException, SolrServerException { SolrDocumentList solrDocumentList = new SolrDocumentList(); setUpRuleData(null, "description facetRule1", "facetRule1", facetRule, facetRuleItem1, true, solrDocumentList);//from w w w . j a v a 2 s .c o m setUpRuleData(null, "description blockRule1", "blockRule1", blockRule, blockRuleItem1, true, solrDocumentList); setUpRuleData(null, "description boostRule1", "boostRule1", boostRule, boostRuleItem1, true, solrDocumentList); solrDocumentList.setNumFound(solrDocumentList.size()); solrDocumentList.setStart(0L); when(queryResponse.getResults()).thenReturn(solrDocumentList); when(server.query(any(SolrParams.class))).thenReturn(queryResponse); RuleManager mgr = new RuleManager(repository, builder, server); assertEquals(null, mgr.getRules()); Set<String> includeRules = new HashSet<String>(); includeRules.add("facetRule1"); includeRules.add("blockRule1"); Set<String> excludeRules = new HashSet<String>(); excludeRules.add("boostRule1"); mgr.loadRules("jackets", null, "Men's Clothing", true, false, cataA, false, null, includeRules, excludeRules); assertNotNull(mgr.getRules()); Map<String, List<RepositoryItem>> rules = mgr.getRules(); assertEquals(2, rules.size()); List<RepositoryItem> blockItems = rules.get(blockRule); assertEquals(1, blockItems.size()); assertThat(blockItems, hasItem(blockRuleItem1)); List<RepositoryItem> facetItems = rules.get(facetRule); assertEquals(1, facetItems.size()); assertThat(facetItems, hasItem(facetRuleItem1)); }
From source file:org.opencommercesearch.RuleManagerTest.java
License:Apache License
@Test public void testIncludeRulesNotExperimental() throws RepositoryException, SolrServerException { SolrDocumentList solrDocumentList = new SolrDocumentList(); setUpRuleData(null, "description facetRule1", "facetRule1", facetRule, facetRuleItem1, false, solrDocumentList);/* www . j av a 2 s . c o m*/ setUpRuleData(null, "description facetRule2", "facetRule2", facetRule, facetRuleItem2, false, solrDocumentList); setUpRuleData(null, "description facetRule3", "facetRule3", facetRule, facetRuleItem3, true, solrDocumentList); solrDocumentList.setNumFound(solrDocumentList.size()); solrDocumentList.setStart(0L); when(queryResponse.getResults()).thenReturn(solrDocumentList); when(server.query(any(SolrParams.class))).thenReturn(queryResponse); RuleManager mgr = new RuleManager(repository, builder, server); assertEquals(null, mgr.getRules()); mgr.loadRules("jackets", null, "Men's Clothing", true, false, cataA, false, null, new HashSet<String>(), new HashSet<String>()); assertNotNull(mgr.getRules()); Map<String, List<RepositoryItem>> rules = mgr.getRules(); assertEquals(1, rules.size()); assertEquals(facetRule, rules.keySet().iterator().next()); List<RepositoryItem> facetItems = rules.get(facetRule); assertEquals(2, facetItems.size()); assertThat(facetItems, hasItem(facetRuleItem1)); assertThat(facetItems, hasItem(facetRuleItem2)); }
From source file:org.opencommercesearch.RuleManagerTest.java
License:Apache License
@Test public void testExcludeRules() throws RepositoryException, SolrServerException { SolrDocumentList solrDocumentList = new SolrDocumentList(); setUpRuleData(null, "description facetRule1", "facetRule1", facetRule, facetRuleItem1, true, solrDocumentList);/*from w w w.j a v a 2 s.c o m*/ setUpRuleData(null, "description blockRule1", "blockRule1", blockRule, blockRuleItem1, true, solrDocumentList); setUpRuleData(null, "description boostRule1", "boostRule1", boostRule, boostRuleItem1, true, solrDocumentList); solrDocumentList.setNumFound(solrDocumentList.size()); solrDocumentList.setStart(0L); when(queryResponse.getResults()).thenReturn(solrDocumentList); when(server.query(any(SolrParams.class))).thenReturn(queryResponse); RuleManager mgr = new RuleManager(repository, builder, server); assertEquals(null, mgr.getRules()); HashSet<String> excludeRules = new HashSet<String>(); excludeRules.add("facetRule1"); excludeRules.add("facetRule2"); excludeRules.add("facetRule3"); mgr.loadRules("jackets", null, "Men's Clothing", true, false, cataA, false, null, new HashSet<String>(), excludeRules); assertNotNull(mgr.getRules()); Map<String, List<RepositoryItem>> rules = mgr.getRules(); assertEquals(0, rules.size()); }