Example usage for org.apache.solr.client.solrj SolrQuery setFacet

List of usage examples for org.apache.solr.client.solrj SolrQuery setFacet

Introduction

In this page you can find the example usage for org.apache.solr.client.solrj SolrQuery setFacet.

Prototype

public SolrQuery setFacet(boolean b) 

Source Link

Document

enable/disable faceting.

Usage

From source file:org.hoteia.qalingo.core.solr.service.CustomerSolrService.java

License:Apache License

public CustomerResponseBean searchCustomer() throws IllegalArgumentException, SolrServerException, IOException {
    SolrQuery solrQuery = new SolrQuery();
    solrQuery.setParam("rows", ROWS_DEFAULT_VALUE);

    solrQuery.setQuery("*");
    solrQuery.setFacet(true);
    solrQuery.setFacetMinCount(1);/*www .j  av a  2  s  .c o  m*/
    solrQuery.setFacetLimit(8);
    solrQuery.addFacetField("lastname");

    logger.debug("QueryRequest solrQuery: " + solrQuery);

    SolrRequest request = new QueryRequest(solrQuery, METHOD.POST);

    QueryResponse response = new QueryResponse(customerSolrServer.request(request), customerSolrServer);

    logger.debug("QueryResponse Obj: " + response.toString());

    List<CustomerSolr> solrList = response.getBeans(CustomerSolr.class);
    List<FacetField> solrFacetFieldList = response.getFacetFields();

    CustomerResponseBean customerResponseBean = new CustomerResponseBean();
    customerResponseBean.setCustomerSolrList(solrList);
    customerResponseBean.setCustomerSolrFacetFieldList(solrFacetFieldList);
    return customerResponseBean;
}

From source file:org.hoteia.qalingo.core.solr.service.impl.CatalogCategorySolrServiceImpl.java

License:Apache License

public CatalogCategoryResponseBean searchCatalogCategory(String searchBy, String searchText, String facetField)
        throws SolrServerException, IOException {
    SolrQuery solrQuery = new SolrQuery();
    if (StringUtils.isEmpty(searchBy)) {
        throw new IllegalArgumentException("searcBy field can not be Empty or Blank ");
    }/*from  ww  w . ja v a  2 s  .  c  o m*/

    if (StringUtils.isEmpty(searchText)) {
        solrQuery.setQuery(searchBy + ":*");
    } else {
        solrQuery.setQuery(searchBy + ":" + searchText + "*");
    }

    if (StringUtils.isNotEmpty(facetField)) {
        solrQuery.setFacet(true);
        solrQuery.setFacetMinCount(1);
        solrQuery.setFacetLimit(8);
        solrQuery.addFacetField(facetField);
    }

    SolrRequest request = new QueryRequest(solrQuery, METHOD.POST);
    QueryResponse response = new QueryResponse(catalogCategorySolrServer.request(request),
            catalogCategorySolrServer);
    logger.debug("QueryResponse Obj: " + response);

    List<CatalogCategorySolr> categorySolrList = response.getBeans(CatalogCategorySolr.class);
    logger.debug(" categorySolrList: " + categorySolrList);

    CatalogCategoryResponseBean catalogCategoryResponseBean = new CatalogCategoryResponseBean();
    catalogCategoryResponseBean.setCatalogCategorySolrList(categorySolrList);

    logger.debug("categorySolrList add sucessflly in productResponseBeen ");

    if (StringUtils.isNotEmpty(facetField)) {
        List<FacetField> categorySolrFacetFieldList = response.getFacetFields();
        logger.debug("ProductFacetFileList: " + categorySolrFacetFieldList);
        catalogCategoryResponseBean.setCatalogCategorySolrFacetFieldList(categorySolrFacetFieldList);
        logger.debug(" categoryFacetFileList Add sucessflly in categoryResponseBeen  ");
    }

    return catalogCategoryResponseBean;
}

From source file:org.hoteia.qalingo.core.solr.service.impl.CatalogCategorySolrServiceImpl.java

License:Apache License

public CatalogCategoryResponseBean searchCatalogCategory() throws SolrServerException, IOException {
    SolrQuery solrQuery = new SolrQuery();
    solrQuery.setQuery("*");
    solrQuery.setFacet(true);
    solrQuery.setFacetMinCount(1);//from   ww  w  .j  av a2s .  c  o  m
    solrQuery.setFacetLimit(8);
    solrQuery.addFacetField("code");
    SolrRequest request = new QueryRequest(solrQuery, METHOD.POST);
    // request.setPath(getRequestPath());
    QueryResponse response = new QueryResponse(catalogCategorySolrServer.request(request),
            catalogCategorySolrServer);
    List<CatalogCategorySolr> productSolrList = response.getBeans(CatalogCategorySolr.class);
    List<FacetField> productSolrFacetFieldList = response.getFacetFields();

    CatalogCategoryResponseBean catalogCategoryResponseBean = new CatalogCategoryResponseBean();
    catalogCategoryResponseBean.setCatalogCategorySolrList(productSolrList);
    catalogCategoryResponseBean.setCatalogCategorySolrFacetFieldList(productSolrFacetFieldList);
    return catalogCategoryResponseBean;
}

From source file:org.hoteia.qalingo.core.solr.service.impl.CustomerSolrServiceImpl.java

License:Apache License

public CustomerResponseBean searchCustomer(String searchBy, String searchText, String facetField)
        throws IllegalArgumentException, SolrServerException, IOException {
    SolrQuery solrQuery = new SolrQuery();
    if (StringUtils.isEmpty(searchBy)) {
        throw new IllegalArgumentException("searcBy field can not be Empty or Blank ");
    }//from   w w w. j  a va2 s. c  o  m

    if (StringUtils.isEmpty(searchText)) {
        solrQuery.setQuery(searchBy + ":*");
    } else {
        solrQuery.setQuery(searchBy + ":" + searchText + "*");
    }

    if (StringUtils.isNotEmpty(facetField)) {
        solrQuery.setFacet(true);
        solrQuery.setFacetMinCount(1);
        solrQuery.setFacetLimit(8);
        solrQuery.addFacetField(facetField);
    }

    SolrRequest request = new QueryRequest(solrQuery, METHOD.POST);

    QueryResponse response = new QueryResponse(customerSolrServer.request(request), customerSolrServer);
    logger.debug("QueryResponse Obj: " + response);
    List<CustomerSolr> customerSolrList = response.getBeans(CustomerSolr.class);
    logger.debug(" customerSolrList: " + customerSolrList);
    CustomerResponseBean customerResponseBean = new CustomerResponseBean();
    customerResponseBean.setCustomerSolrList(customerSolrList);
    logger.debug("customerSolrList add sucessflly in customerResponseBeen ");
    if (StringUtils.isNotEmpty(facetField)) {
        List<FacetField> customerSolrFacetFieldList = response.getFacetFields();
        logger.debug("CustomerFacetFileList: " + customerSolrFacetFieldList);
        customerResponseBean.setCustomerSolrFacetFieldList(customerSolrFacetFieldList);
        logger.debug(" CustomerFacetFileList Add sucessflly in customerResponseBeen  ");
    }
    return customerResponseBean;
}

From source file:org.hoteia.qalingo.core.solr.service.impl.CustomerSolrServiceImpl.java

License:Apache License

public CustomerResponseBean searchCustomer() throws IllegalArgumentException, SolrServerException, IOException {
    SolrQuery solrQuery = new SolrQuery();
    solrQuery.setQuery("*");
    solrQuery.setFacet(true);
    solrQuery.setFacetMinCount(1);/*from w ww .  j  a v  a2  s  .c o  m*/
    solrQuery.setFacetLimit(8);
    solrQuery.addFacetField("lastname");
    SolrRequest request = new QueryRequest(solrQuery, METHOD.POST);
    // request.setPath(getRequestPath());
    QueryResponse response = new QueryResponse(customerSolrServer.request(request), customerSolrServer);
    List<CustomerSolr> customerSolrList = response.getBeans(CustomerSolr.class);
    List<FacetField> customerSolrFacetFieldList = response.getFacetFields();
    CustomerResponseBean customerResponseBean = new CustomerResponseBean();
    customerResponseBean.setCustomerSolrList(customerSolrList);
    customerResponseBean.setCustomerSolrFacetFieldList(customerSolrFacetFieldList);
    return customerResponseBean;
}

From source file:org.hoteia.qalingo.core.solr.service.impl.ProductMarketingSolrServiceImpl.java

License:Apache License

/**
 * {@inheritDoc}// w  w  w  .  j  a  v  a  2s . c om
 */
@Override
public ProductMarketingResponseBean searchProductMarketing(final String searchBy, final String searchText,
        final String facetField, final BigDecimal priceStart, final BigDecimal priceEnd,
        final List<String> catalogCategories) throws SolrServerException, IOException {
    SolrQuery solrQuery = new SolrQuery();

    if (StringUtils.isEmpty(searchBy)) {
        throw new IllegalArgumentException("searcBy field can not be Empty or Blank ");
    }

    if (StringUtils.isEmpty(searchText)) {
        solrQuery.setQuery(searchBy + ":*");
    } else {
        solrQuery.setQuery(searchBy + ":" + searchText + "*");
    }

    if (StringUtils.isNotEmpty(facetField)) {
        solrQuery.setFacet(true);
        solrQuery.setFacetMinCount(1);
        solrQuery.setFacetLimit(8);
        solrQuery.addFacetField(facetField);
    }

    if (priceStart != null && priceEnd != null) {
        String fq = String.format("price:[%1$,.0f TO %2$,.0f]", priceStart.doubleValue(),
                priceEnd.doubleValue());
        solrQuery.addFilterQuery(fq);
    }

    if (catalogCategories != null && catalogCategories.size() > 0) {
        StringBuilder fq = new StringBuilder("catalogCategories:(");
        for (int i = 0; i < catalogCategories.size(); i++) {
            String cate = catalogCategories.get(i);
            fq.append(cate);
            if (i < catalogCategories.size() - 1) {
                fq.append(" OR ");
            }
        }
        fq.append(")");
        solrQuery.addFilterQuery(fq.toString());
    }

    SolrRequest request = new QueryRequest(solrQuery, METHOD.POST);
    QueryResponse response = new QueryResponse(productMarketingSolrServer.request(request),
            productMarketingSolrServer);

    logger.debug("QueryResponse Obj: " + response);

    List<ProductMarketingSolr> ProductMarketingSolrList = response.getBeans(ProductMarketingSolr.class);

    logger.debug(" ProductMarketingSolrList: " + ProductMarketingSolrList);

    ProductMarketingResponseBean productMarketingResponseBean = new ProductMarketingResponseBean();
    productMarketingResponseBean.setProductMarketingSolrList(ProductMarketingSolrList);

    logger.debug("ProductMarketingSolrList add sucessflly in productResponseBeen ");

    if (StringUtils.isNotEmpty(facetField)) {
        List<FacetField> productSolrFacetFieldList = response.getFacetFields();

        logger.debug("ProductFacetFileList: " + productSolrFacetFieldList);

        productMarketingResponseBean.setProductMarketingSolrFacetFieldList(productSolrFacetFieldList);

        logger.debug(" ProductFacetFileList Add sucessflly in productResponseBeen  ");
    }
    return productMarketingResponseBean;
}

From source file:org.hoteia.qalingo.core.solr.service.impl.ProductMarketingSolrServiceImpl.java

License:Apache License

public ProductMarketingResponseBean searchProductMarketing() throws SolrServerException, IOException {
    SolrQuery solrQuery = new SolrQuery();
    solrQuery.setQuery("*");
    solrQuery.setFacet(true);
    solrQuery.setFacetMinCount(1);//  www  .j  a v a 2s  .c o m
    solrQuery.setFacetLimit(8);
    solrQuery.addFacetField(Constants.PRODUCT_MARKETING_DEFAULT_FACET_FIELD);
    SolrRequest request = new QueryRequest(solrQuery, METHOD.POST);

    QueryResponse response = new QueryResponse(productMarketingSolrServer.request(request),
            productMarketingSolrServer);

    logger.debug("QueryResponse Obj: " + response);

    List<ProductMarketingSolr> productMarketingSolrList = response.getBeans(ProductMarketingSolr.class);

    logger.debug(" ProductMarketingSolrList: " + productMarketingSolrList);

    List<FacetField> productSolrFacetFieldList = response.getFacetFields();

    logger.debug("ProductFacetFileList: " + productSolrFacetFieldList);

    ProductMarketingResponseBean productMarketingResponseBean = new ProductMarketingResponseBean();
    productMarketingResponseBean.setProductMarketingSolrList(productMarketingSolrList);
    productMarketingResponseBean.setProductMarketingSolrFacetFieldList(productSolrFacetFieldList);

    logger.debug("ProductMarketingSolrList  And ProductFacetFileList Add sucessflly in productResponseBeen");

    return productMarketingResponseBean;
}

From source file:org.hoteia.qalingo.core.solr.service.impl.ProductSkuSolrServiceImpl.java

License:Apache License

public ProductSkuResponseBean searchProductSku(String searchBy, String searchText, String facetField)
        throws SolrServerException, IOException {
    SolrQuery solrQuery = new SolrQuery();
    if (StringUtils.isEmpty(searchBy)) {
        throw new IllegalArgumentException("searcBy field can not be Empty or Blank ");
    }//from w  w  w.j  av a 2  s  .  c o m

    if (StringUtils.isEmpty(searchText)) {
        solrQuery.setQuery(searchBy + ":*");
    } else {
        solrQuery.setQuery(searchBy + ":" + searchText + "*");
    }

    if (StringUtils.isNotEmpty(facetField)) {
        solrQuery.setFacet(true);
        solrQuery.setFacetMinCount(1);
        solrQuery.setFacetLimit(8);
        solrQuery.addFacetField(facetField);
    }

    SolrRequest request = new QueryRequest(solrQuery, METHOD.POST);
    QueryResponse response = new QueryResponse(productSkuSolrServer.request(request), productSkuSolrServer);
    logger.debug("QueryResponse Obj: " + response);
    List<ProductSkuSolr> productSkuSolrList = response.getBeans(ProductSkuSolr.class);
    logger.debug(" productSkuSolrList: " + productSkuSolrList);
    ProductSkuResponseBean productResponseBean = new ProductSkuResponseBean();
    productResponseBean.setProductSkuSolrList(productSkuSolrList);
    logger.debug("productSkuSolrList add sucessflly in productResponseBeen ");
    if (StringUtils.isNotEmpty(facetField)) {
        List<FacetField> productSkuSolrFacetFieldList = response.getFacetFields();
        logger.debug("ProductFacetFileList: " + productSkuSolrFacetFieldList);
        productResponseBean.setProductSkuSolrFacetFieldList(productSkuSolrFacetFieldList);
        logger.debug(" ProductFacetFileList Add sucessflly in productResponseBeen  ");
    }
    return productResponseBean;
}

From source file:org.hoteia.qalingo.core.solr.service.impl.ProductSkuSolrServiceImpl.java

License:Apache License

public ProductSkuResponseBean searchProductSku() throws SolrServerException, IOException {
    SolrQuery solrQuery = new SolrQuery();
    solrQuery.setQuery("*");
    solrQuery.setFacet(true);
    solrQuery.setFacetMinCount(1);//from  w  w w  . j a v a2s .c  o  m
    solrQuery.setFacetLimit(8);
    solrQuery.addFacetField("businessname");
    solrQuery.addFacetField("code");
    SolrRequest request = new QueryRequest(solrQuery, METHOD.POST);
    // request.setPath(getRequestPath());
    QueryResponse response = new QueryResponse(productSkuSolrServer.request(request), productSkuSolrServer);
    logger.debug("QueryResponse Obj: " + response);
    List<ProductSkuSolr> productSkuSolrList = response.getBeans(ProductSkuSolr.class);
    logger.debug(" productSkuSolrList: " + productSkuSolrList);
    List<FacetField> productSkuSolrFacetFieldList = response.getFacetFields();
    logger.debug("ProductFacetFileList: " + productSkuSolrFacetFieldList);
    ProductSkuResponseBean productSkuResponseBean = new ProductSkuResponseBean();
    productSkuResponseBean.setProductSkuSolrList(productSkuSolrList);
    productSkuResponseBean.setProductSkuSolrFacetFieldList(productSkuSolrFacetFieldList);
    logger.debug("productSkuSolrList  And ProductFacetFileList Add sucessflly in productSkuResponseBeen  ");
    return productSkuResponseBean;
}

From source file:org.hoteia.qalingo.core.solr.service.impl.StoreSolrServiceImpl.java

License:Apache License

public StoreResponseBean searchStore(String searchBy, String searchText, String facetField)
        throws SolrServerException, IOException {
    SolrQuery solrQuery = new SolrQuery();
    if (StringUtils.isEmpty(searchBy)) {
        throw new IllegalArgumentException("searcBy field can not be Empty or Blank ");
    }/*from ww w.j  a v a 2  s  .  co m*/

    if (StringUtils.isEmpty(searchText)) {
        solrQuery.setQuery(searchBy + ":*");
    } else {
        solrQuery.setQuery(searchBy + ":" + searchText + "*");
    }

    if (StringUtils.isNotEmpty(facetField)) {
        solrQuery.setFacet(true);
        solrQuery.setFacetMinCount(1);
        solrQuery.setFacetLimit(8);
        solrQuery.addFacetField(facetField);
    }

    SolrRequest request = new QueryRequest(solrQuery, METHOD.POST);

    QueryResponse response = new QueryResponse(storeSolrServer.request(request), storeSolrServer);
    logger.debug("QueryResponse Obj: " + response);
    List<StoreSolr> storeSolrList = response.getBeans(StoreSolr.class);
    logger.debug(" storeSolrList: " + storeSolrList);
    StoreResponseBean storeResponseBean = new StoreResponseBean();
    storeResponseBean.setStoreSolrList(storeSolrList);

    logger.debug("storeSolrList add sucessflly in StoreResponseBeen ");
    if (StringUtils.isNotEmpty(facetField)) {
        List<FacetField> storeSolrFacetFieldList = response.getFacetFields();
        logger.debug("storeFacetFileList: " + storeSolrFacetFieldList);
        storeResponseBean.setStoreSolrFacetFieldList(storeSolrFacetFieldList);

        logger.debug(" StoreFacetFileList Add sucessflly in StoreResponseBeen  ");
    }
    return storeResponseBean;
}