Example usage for org.springframework.data.solr.core.query FacetQuery setFacetOptions

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

Introduction

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

Prototype

<T extends SolrDataQuery> T setFacetOptions(FacetOptions facetOptions);

Source Link

Document

Faceting options to apply when executing query

Usage

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

@Test
public void testConstructSolrQueryWithFacetPrefix() {
    FacetQuery query = new SimpleFacetQuery(new Criteria("field_1").is("value_1"));
    FacetOptions facetOptions = new FacetOptions(new SimpleField("facet_1"), new SimpleField("facet_2"));
    facetOptions.setFacetPrefix("prefix");
    query.setFacetOptions(facetOptions);

    SolrQuery solrQuery = queryParser.constructSolrQuery(query);
    Assert.assertNotNull(solrQuery);/*from  w  w  w  .j ava 2 s. co  m*/
    assertQueryStringPresent(solrQuery);
    assertPaginationNotPresent(solrQuery);
    assertProjectionNotPresent(solrQuery);
    assertGroupingNotPresent(solrQuery);
    assertFactingPresent(solrQuery, "facet_1", "facet_2");
    Assert.assertEquals(facetOptions.getFacetPrefix(), solrQuery.getParams("facet.prefix")[0]);
}

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

@Test
public void testConstructSolrQueryWithFieldFacetParameters() {
    FacetQuery query = new SimpleFacetQuery(new Criteria("field_1").is("value_1"));
    FieldWithFacetParameters fieldWithFacetParameters = new FieldWithFacetParameters("facet_2")
            .setPrefix("prefix").setSort(FacetSort.INDEX).setLimit(3).setOffset(2).setMethod("method")
            .setMissing(true);/*w  w  w .  j a v a 2s.com*/
    FacetOptions facetOptions = new FacetOptions(new SimpleField("facet_1"), fieldWithFacetParameters);
    query.setFacetOptions(facetOptions);

    SolrQuery solrQuery = queryParser.constructSolrQuery(query);
    Assert.assertNotNull(solrQuery);
    assertQueryStringPresent(solrQuery);
    assertPaginationNotPresent(solrQuery);
    assertProjectionNotPresent(solrQuery);
    assertGroupingNotPresent(solrQuery);
    assertFactingPresent(solrQuery, "facet_1", "facet_2");
    Assert.assertEquals(fieldWithFacetParameters.getPrefix(),
            solrQuery.getParams("f." + fieldWithFacetParameters.getName() + ".facet.prefix")[0]);
    Assert.assertEquals(FacetParams.FACET_SORT_INDEX,
            solrQuery.getParams("f." + fieldWithFacetParameters.getName() + ".facet.sort")[0]);
    Assert.assertEquals(Integer.toString(fieldWithFacetParameters.getOffset()),
            solrQuery.getParams("f." + fieldWithFacetParameters.getName() + ".facet.offset")[0]);
    Assert.assertEquals(Integer.toString(fieldWithFacetParameters.getLimit()),
            solrQuery.getParams("f." + fieldWithFacetParameters.getName() + ".facet.limit")[0]);
    Assert.assertEquals(fieldWithFacetParameters.getMethod(),
            solrQuery.getParams("f." + fieldWithFacetParameters.getName() + ".facet.method")[0]);
    Assert.assertEquals(fieldWithFacetParameters.getMissing().toString(),
            solrQuery.getParams("f." + fieldWithFacetParameters.getName() + ".facet.missing")[0]);
}

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

@Test
public void testConstructSolrQueryWithCustomFieldFacetParameters() {
    FacetQuery query = new SimpleFacetQuery(new Criteria("field_1").is("value_1"));
    FieldWithFacetParameters fieldWithFacetParameters = new FieldWithFacetParameters("facet_2")
            .addFacetParameter(new FacetParameter(FacetParams.FACET_ZEROS, "on"));
    FacetOptions facetOptions = new FacetOptions(new SimpleField("facet_1"), fieldWithFacetParameters);
    query.setFacetOptions(facetOptions);

    SolrQuery solrQuery = queryParser.constructSolrQuery(query);
    Assert.assertEquals("on",
            solrQuery.getParams("f." + fieldWithFacetParameters.getName() + ".facet.zeros")[0]);
}