Example usage for org.apache.solr.common SolrDocumentList SolrDocumentList

List of usage examples for org.apache.solr.common SolrDocumentList SolrDocumentList

Introduction

In this page you can find the example usage for org.apache.solr.common SolrDocumentList SolrDocumentList.

Prototype

SolrDocumentList

Source Link

Usage

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());

}