List of usage examples for org.apache.solr.common SolrDocumentList setStart
public void setStart(long start)
From source file:org.opencommercesearch.RuleManagerTest.java
License:Apache License
@Test public void testSetRuleParams2NullRules() throws RepositoryException, SolrServerException { SolrDocumentList solrDocumentList = new SolrDocumentList(); setUpRuleData(null, "description facetRule1", "facetRule1", facetRule, facetRuleItem1, false, solrDocumentList);//from ww w. ja v a2 s . c o m SolrDocument rule = new SolrDocument(); rule.addField("description", "description facetRule2"); rule.addField("id", "facetRule2"); solrDocumentList.add(rule); setUpRuleData(null, "description boostRule3", "boostRule3", boostRule, boostRuleItem1, false, 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()); RepositoryItem catalog = mock(RepositoryItem.class); when(catalog.getRepositoryId()).thenReturn("bobcatalog"); SolrQuery query = mock(SolrQuery.class); when(query.getQuery()).thenReturn("jackets"); mgr.setRuleParams(query, true, false, null, null, catalog, false, null); verify(query).setFacetPrefix("category", "1.bobcatalog."); verify(query).addFilterQuery("category:0.bobcatalog"); verify(query).getQuery(); verify(query, times(2)).getSortFields(); verify(query).setSortField("isToos", ORDER.asc); verify(query).addSortField("score", ORDER.desc); verify(query).addSortField("_version_", ORDER.desc); verify(query).getParams("includeRules"); verify(query).getParams("excludeRules"); verifyNoMoreInteractions(query); }
From source file:org.opencommercesearch.RuleManagerTest.java
License:Apache License
@Test public void testRankingRuleForRuleBasedCategories() throws RepositoryException, SolrServerException { RuleManager mgr = new RuleManager(repository, builder, server); SolrDocumentList ruleList = new SolrDocumentList(); setUpRuleData(null, "description facetRule1", "facetRule1", facetRule, facetRuleItem1, false, ruleList); SolrDocument rule = new SolrDocument(); rule.addField("description", "description facetRule2"); rule.addField("id", "facetRule2"); ruleList.add(rule);/* ww w. j av a 2 s .com*/ setUpRuleData(null, "description boostRule1", "boostRule1", boostRule, boostRuleItem1, false, ruleList); List<String> categories = new ArrayList<String>(); categories.add("myCatalog.ruleBasedCategory"); categories.add("__all__"); setUpRuleData(categories, "description boostRule2", "boostRule2", boostRule, boostRuleItem2, false, ruleList); ruleList.setNumFound(ruleList.size()); ruleList.setStart(0L); when(queryResponse.getResults()).thenReturn(ruleList); when(server.query(any(SolrParams.class))).thenReturn(queryResponse); mgr.loadRules("", "myCatalog.ruleBasedCategory", null, false, true, cataA, false, null, new HashSet<String>(), new HashSet<String>()); assertEquals(mgr.getRules().size(), 2); mgr.loadRules("", null, null, false, true, cataA, false, null, new HashSet<String>(), new HashSet<String>()); assertEquals(mgr.getRules().size(), 2); }
From source file:org.opencommercesearch.RuleManagerTest.java
License:Apache License
@Test public void testLoadRulesNullRule() throws RepositoryException, SolrServerException { SolrDocumentList solrDocumentList = new SolrDocumentList(); // ---------- set up docs with a rule type ----------- setUpRuleData(null, "description facetRule1", "facetRule1", facetRule, facetRuleItem1, false, solrDocumentList);/*from w ww. j a v a 2s. c om*/ // note that we do NOT add this into the Repository so that we have a null rule in loadRules, this causes this document to not go into the rules SolrDocument rule = new SolrDocument(); rule.addField("description", "description facetRule2"); rule.addField("id", "facetRule2"); solrDocumentList.add(rule); setUpRuleData(null, "description boostRule1", "boostRule1", boostRule, boostRuleItem1, false, solrDocumentList); // ----------- set up doclist attributes ---------- solrDocumentList.setNumFound(solrDocumentList.size()); solrDocumentList.setStart(0L); // solrDocumentList.setMaxScore(1000.0); 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()); // ------------ make the call to load the rules etc ------------- mgr.loadRules("jackets", null, "Men's Clothing", true, false, cataA, false, null, new HashSet<String>(), new HashSet<String>()); // ------------ assertions about the rules that were generated --------- assertNotNull(mgr.getRules()); Map<String, List<RepositoryItem>> rules = mgr.getRules(); assertEquals(2, rules.size()); assertThat(rules.keySet(), hasItem(facetRule)); assertThat(rules.keySet(), hasItem(boostRule)); List<RepositoryItem> facetItems = rules.get(facetRule); List<RepositoryItem> boostItems = rules.get(boostRule); assertEquals(1, facetItems.size()); assertEquals(1, boostItems.size()); assertThat(facetItems, hasItem(facetRuleItem1)); assertThat(boostItems, hasItem(boostRuleItem1)); }
From source file:org.opencommercesearch.RuleManagerTest.java
License:Apache License
@Test public void testLoadRulesMixedTypes() throws RepositoryException, SolrServerException { SolrDocumentList solrDocumentList = new SolrDocumentList(); // ---------- set up docs with a rule type ----------- setUpRuleData(null, "description facetRule1", "facetRule1", facetRule, facetRuleItem1, false, solrDocumentList);/*from ww w .ja va2s . c o m*/ setUpRuleData(null, "description blockRule1", "blockRule1", blockRule, blockRuleItem1, false, solrDocumentList); setUpRuleData(null, "description boostRule1", "boostRule1", boostRule, boostRuleItem1, false, solrDocumentList); // ----------- set up doclist attributes ---------- solrDocumentList.setNumFound(solrDocumentList.size()); solrDocumentList.setStart(0L); // solrDocumentList.setMaxScore(1000.0); 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()); // ------------ make the call to load the rules etc ------------- mgr.loadRules("jackets", null, "Men's Clothing", true, false, cataA, false, null, new HashSet<String>(), new HashSet<String>()); // ------------ assertions about the rules that were generated --------- assertNotNull(mgr.getRules()); Map<String, List<RepositoryItem>> rules = mgr.getRules(); assertEquals(3, rules.size()); assertThat(rules.keySet(), hasItem(facetRule)); assertThat(rules.keySet(), hasItem(boostRule)); assertThat(rules.keySet(), hasItem(blockRule)); List<RepositoryItem> facetItems = rules.get(facetRule); List<RepositoryItem> boostItems = rules.get(boostRule); List<RepositoryItem> blockItems = rules.get(blockRule); assertEquals(1, facetItems.size()); assertEquals(1, boostItems.size()); assertEquals(1, blockItems.size()); assertThat(facetItems, hasItem(facetRuleItem1)); assertThat(boostItems, hasItem(boostRuleItem1)); assertThat(blockItems, hasItem(blockRuleItem1)); }
From source file:org.opencommercesearch.RuleManagerTest.java
License:Apache License
@Test public void testLoadRulesPaging() throws RepositoryException, SolrServerException { // test paging over batches of results SolrDocumentList docList1 = new SolrDocumentList(); SolrDocumentList docList2 = new SolrDocumentList(); RepositoryItem bikeItem = mock(RepositoryItem.class); RepositoryItem sledItem = mock(RepositoryItem.class); RepositoryItem carItem = mock(RepositoryItem.class); RepositoryItem heliItem = mock(RepositoryItem.class); RepositoryItem coatItem = mock(RepositoryItem.class); RepositoryItem snowItem = mock(RepositoryItem.class); RepositoryItem farmItem = mock(RepositoryItem.class); RepositoryItem steakItem = mock(RepositoryItem.class); RepositoryItem pillowItem = mock(RepositoryItem.class); // ---------- set up docs with a rule type ----------- setUpRuleData(null, "description facetRule1", "facetRule1", facetRule, facetRuleItem1, false, docList1); // SKIPPING due to setStart setUpRuleData(null, "description blockRule1", "blockRule1", blockRule, blockRuleItem1, false, docList1); setUpRuleData(null, "description boostRule1", "boostRule1", boostRule, boostRuleItem1, false, docList1); setUpRuleData(null, "biking? fun!", "tallboy", boostRule, bikeItem, false, docList1); setUpRuleData(null, "sleds are lame", "suzuki", facetRule, sledItem, false, docList1); setUpRuleData(null, "cars are lame", "vw", facetRule, carItem, false, docList1); setUpRuleData(null, "fly in a heli", "heli", boostRule, heliItem, false, docList2); // SKIPPING due to setStart setUpRuleData(null, "snow is fun", "snow", boostRule, snowItem, false, docList2); setUpRuleData(null, "good for food", "farm", blockRule, farmItem, false, docList2); setUpRuleData(null, "cows are food", "steak", facetRule, steakItem, false, docList2); setUpRuleData(null, "coatItem", "patagonia", boostRule, coatItem, false, docList2); setUpRuleData(null, "sleeping", "pillow", boostRule, pillowItem, false, docList2); // ----------- set up doclist attributes ---------- docList1.setNumFound(docList1.size() + docList2.size()); // set numfound to be both pagefuls... docList2.setNumFound(docList1.size() + docList2.size()); // set numfound to be both pagefuls... docList1.setStart(0L); docList2.setStart(0L);//from ww w . ja va2s .c om // solrDocumentList.setMaxScore(1000.0); QueryResponse queryResponse1 = mock(QueryResponse.class); QueryResponse queryResponse2 = mock(QueryResponse.class); when(queryResponse1.getResults()).thenReturn(docList1); when(queryResponse2.getResults()).thenReturn(docList2); // when(server.query(any(SolrParams.class))).thenReturn(queryResponse); when(server.query(any(SolrParams.class))).thenReturn(queryResponse1, queryResponse2); // ----------- set up rule manager ------------- RuleManager mgr = new RuleManager(repository, builder, server); assertEquals(null, mgr.getRules()); // ------------ make the call to load the rules etc ------------- mgr.loadRules("jackets", null, "Men's Clothing", true, false, cataA, false, null, new HashSet<String>(), new HashSet<String>()); // ------------ assertions about the rules that were generated --------- assertNotNull(mgr.getRules()); Map<String, List<RepositoryItem>> rules = mgr.getRules(); assertEquals(3, rules.size()); assertThat(rules.keySet(), hasItem(facetRule)); assertThat(rules.keySet(), hasItem(boostRule)); assertThat(rules.keySet(), hasItem(blockRule)); List<RepositoryItem> facetItems = rules.get(facetRule); List<RepositoryItem> boostItems = rules.get(boostRule); List<RepositoryItem> blockItems = rules.get(blockRule); assertEquals(4, facetItems.size()); assertEquals(6, boostItems.size()); assertEquals(2, blockItems.size()); // test facets... for (RepositoryItem item : new RepositoryItem[] { sledItem, carItem, steakItem, }) { assertThat(facetItems, hasItem(item)); } // test boosts... for (RepositoryItem item : new RepositoryItem[] { boostRuleItem1, bikeItem, snowItem, coatItem, pillowItem, }) { assertThat(boostItems, hasItem(item)); } // test blocks... for (RepositoryItem item : new RepositoryItem[] { blockRuleItem1, farmItem, }) { assertThat(blockItems, hasItem(item)); } }
From source file:org.opencommercesearch.RuleManagerTest.java
License:Apache License
@Test public void testLoadRulesFacets() throws RepositoryException, SolrServerException { SolrDocumentList solrDocumentList = new SolrDocumentList(); // ---------- set up docs with a rule type ----------- setUpRuleData(null, "description facetRule1", "facetRule1", facetRule, facetRuleItem1, false, solrDocumentList);// w w w .j a v a 2 s . c o m setUpRuleData(null, "description facetRule2", "facetRule2", facetRule, blockRuleItem1, false, solrDocumentList); setUpRuleData(null, "description facetRule3", "facetRule3", facetRule, boostRuleItem1, false, solrDocumentList); // ----------- set up doclist attributes ---------- solrDocumentList.setNumFound(solrDocumentList.size()); solrDocumentList.setStart(0L); // solrDocumentList.setMaxScore(1000.0); 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()); // ------------ make the call to load the rules etc ------------- mgr.loadRules("jackets", null, "Men's Clothing", true, false, cataA, false, null, new HashSet<String>(), new HashSet<String>()); // ------------ assertions about the rules that were generated --------- 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(3, facetItems.size()); assertThat(facetItems, hasItem(facetRuleItem1)); assertThat(facetItems, hasItem(blockRuleItem1)); assertThat(facetItems, hasItem(boostRuleItem1)); }
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 . ja 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);//from w ww. jav a 2 s. com 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 .ja v a 2s .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()); }