Example usage for org.springframework.data.solr.core.query GroupOptions GroupOptions

List of usage examples for org.springframework.data.solr.core.query GroupOptions GroupOptions

Introduction

In this page you can find the example usage for org.springframework.data.solr.core.query GroupOptions GroupOptions.

Prototype

GroupOptions

Source Link

Usage

From source file:org.springframework.data.solr.core.DefaultQueryParserTests.java

/**
 * @see DATASOLR-121//from w  w w  .  j ava2  s .  co m
 */
@Test
public void testConstructGroupQueryWithAllPossibleParameters() {
    GroupOptions groupOptions = new GroupOptions();

    SimpleQuery query = new SimpleQuery();
    query.addCriteria(new SimpleStringCriteria("*:*"));
    query.setGroupOptions(groupOptions);
    groupOptions.setOffset(1);
    groupOptions.setLimit(2);
    groupOptions.addGroupByField("field_1");
    groupOptions.addGroupByFunction(MaxFunction.max("field_1", "field_2"));
    groupOptions.addGroupByQuery(new SimpleQuery("*:*"));
    groupOptions.addSort(new Sort(Sort.Direction.DESC, "field_3"));
    groupOptions.setTotalCount(true);

    SolrQuery solrQuery = queryParser.constructSolrQuery(query);

    assertGroupFormatPresent(solrQuery, true);
    Assert.assertEquals("field_1", solrQuery.get(GroupParams.GROUP_FIELD));
    Assert.assertEquals("{!func}max(field_1,field_2)", solrQuery.get(GroupParams.GROUP_FUNC));
    Assert.assertEquals("*:*", solrQuery.get(GroupParams.GROUP_QUERY));
    Assert.assertEquals("field_3 desc", solrQuery.get(GroupParams.GROUP_SORT));
    Assert.assertEquals("1", solrQuery.get(GroupParams.GROUP_OFFSET));
    Assert.assertEquals("2", solrQuery.get(GroupParams.GROUP_LIMIT));
}

From source file:org.springframework.data.solr.core.DefaultQueryParserTests.java

/**
 * @see DATASOLR-121/* w  ww  . j a v a 2  s.c o  m*/
 */
@Test
public void testConstructGroupQueryWithoutPagingParameters() {
    SimpleQuery query = new SimpleQuery();
    query.addCriteria(new SimpleStringCriteria("*:*"));
    query.setGroupOptions(new GroupOptions().addGroupByField("fieldName"));

    SolrQuery solrQuery = queryParser.constructSolrQuery(query);

    assertGroupFormatPresent(solrQuery, false);
    Assert.assertNull(solrQuery.get(GroupParams.GROUP_SORT));
    Assert.assertNull(solrQuery.get(GroupParams.GROUP_OFFSET));
    Assert.assertNull(solrQuery.get(GroupParams.GROUP_LIMIT));
}

From source file:org.springframework.data.solr.core.DefaultQueryParserTests.java

/**
 * @see DATASOLR-121//ww w  .  j a v  a 2 s.  co m
 */
@Test
public void testConstructGroupQueryWithMultipleFunctions() {
    SimpleQuery query = new SimpleQuery();
    query.addCriteria(new SimpleStringCriteria("*:*"));
    query.setGroupOptions(new GroupOptions());
    query.getGroupOptions().addGroupByFunction(MaxFunction.max("field_1", "field_2"));
    query.getGroupOptions().addGroupByFunction(MaxFunction.max("field_3", "field_4"));

    SolrQuery solrQuery = queryParser.constructSolrQuery(query);

    assertGroupFormatPresent(solrQuery, false);
    Assert.assertArrayEquals(new String[] { "{!func}max(field_1,field_2)", "{!func}max(field_3,field_4)" },
            solrQuery.getParams(GroupParams.GROUP_FUNC));
    Assert.assertNull(solrQuery.getParams(GroupParams.GROUP_QUERY));
    Assert.assertNull(solrQuery.getParams(GroupParams.GROUP_FIELD));
}

From source file:org.springframework.data.solr.core.DefaultQueryParserTests.java

/**
 * @see DATASOLR-121/*  w ww  . j  ava  2s.  c om*/
 */
@Test
public void testConstructGroupQueryWithMultipleQueries() {
    SimpleQuery query = new SimpleQuery();
    query.addCriteria(new SimpleStringCriteria("*:*"));
    query.setGroupOptions(new GroupOptions());
    query.getGroupOptions().addGroupByQuery(new SimpleQuery("query1"));
    query.getGroupOptions().addGroupByQuery(new SimpleQuery("query2"));

    SolrQuery solrQuery = queryParser.constructSolrQuery(query);

    assertGroupFormatPresent(solrQuery, false);
    Assert.assertArrayEquals(new String[] { "query1", "query2" }, solrQuery.getParams(GroupParams.GROUP_QUERY));
    Assert.assertNull(solrQuery.getParams(GroupParams.GROUP_FUNC));
    Assert.assertNull(solrQuery.getParams(GroupParams.GROUP_FIELD));
}