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

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

Introduction

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

Prototype

public GroupOptions addGroupByFunction(Function function) 

Source Link

Document

Adds a group request for a Function result.

Usage

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

/**
 * @see DATASOLR-121//  w  ww. ja v a 2 s .  c om
 */
@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));
}