Example usage for org.apache.solr.client.solrj.request QueryRequest QueryRequest

List of usage examples for org.apache.solr.client.solrj.request QueryRequest QueryRequest

Introduction

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

Prototype

public QueryRequest(SolrParams q, METHOD method) 

Source Link

Usage

From source file:com.ibm.watson.developer_cloud.retrieve_and_rank.v1.utils.SolrUtils.java

License:Open Source License

/**
 * Create and process a Solr query/*from w  w w  . j a v a  2s . c o  m*/
 *
 * @param query the query
 * @param featureVector the feature vector
 * @return the query response
 * @throws IOException Signals that an I/O exception has occurred.
 * @throws SolrServerException the Solr server exception
 * @throws InterruptedException the interrupted exception
 */
private QueryResponse solrRuntimeQuery(String query, boolean featureVector)
        throws IOException, SolrServerException, InterruptedException {
    SolrQuery featureSolrQuery = new SolrQuery(query);
    if (featureVector) {
        featureSolrQuery.setRequestHandler(FCSELECT_REQUEST_HANDLER);
        // add the ranker id - this tells the plugin to re-reank the results in a single pass
        featureSolrQuery.setParam(RANKER_ID, rankerId);

    }

    // bring back the id, score, and featureVector for the feature query
    featureSolrQuery.setParam(FIELD_LIST_PARAM, ID_FIELD, SCORE_FIELD, FEATURE_VECTOR_FIELD);

    // need to ask for enough rows to ensure the correct answer is included in the resultset
    featureSolrQuery.setRows(1000);
    QueryRequest featureRequest = new QueryRequest(featureSolrQuery, METHOD.POST);

    return processSolrRequest(featureRequest);
}

From source file:com.ibm.watson.retrieveandrank.app.rest.RetrieveAndRankProxyResource.java

License:Open Source License

private static QueryResponse solrRuntimeQuery(String query, boolean featureVector)
        throws IOException, SolrServerException, InterruptedException {
    // boolean headersPrinted = false;
    final SolrQuery featureSolrQuery = new SolrQuery(query);
    // specify the fcselect request handler for the feature query

    if (featureVector) {
        featureSolrQuery.setRequestHandler(FCSELECT_REQUEST_HANDLER);
        // add the ranker id - this tells the plugin to re-reank the results in a single pass
        featureSolrQuery.setParam("ranker_id", ranker_id);

    }//  w w w  .j ava2  s . com

    // bring back the id, score, and featureVector for the feature query
    featureSolrQuery.setParam(FIELD_LIST_PARAM, ID_FIELD, SCORE_FIELD, FEATURE_VECTOR_FIELD);

    // need to ask for enough rows to ensure the correct answer is included in the resultset
    featureSolrQuery.setRows(1000);
    final QueryRequest featureRequest = new QueryRequest(featureSolrQuery, METHOD.POST);

    // this leverages the plugin
    final QueryResponse featureResponse = processSolrRequest(featureRequest);

    return featureResponse;
}

From source file:fr.hoteia.qalingo.core.solr.service.impl.CategorySolrServiceImpl.java

License:Apache License

/**
  * //from  w  ww  .  j  av  a  2 s. co m
  */
public CategoryResponseBean searchCategory() throws SolrServerException, IOException {

    SolrQuery solrQuery = new SolrQuery();
    solrQuery.setQuery("*");
    solrQuery.setFacet(true);
    solrQuery.setFacetMinCount(1);
    solrQuery.setFacetLimit(8);
    solrQuery.addFacetField("name");
    solrQuery.addFacetField("code");

    SolrRequest request = new QueryRequest(solrQuery, METHOD.POST);
    request.setPath(getRequestPath());
    QueryResponse response = new QueryResponse(solrServer.request(request), solrServer);
    List<CategorySolr> productSolrList = response.getBeans(CategorySolr.class);
    List<FacetField> productSolrFacetFieldList = response.getFacetFields();

    CategoryResponseBean categoryResponseBean = new CategoryResponseBean();
    categoryResponseBean.setCategorySolrList(productSolrList);
    categoryResponseBean.setCategorySolrFacetFieldList(productSolrFacetFieldList);

    return categoryResponseBean;
}

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

License:Apache License

/**
  * //w w w  . j a  va  2  s .c o  m
  */
public CustomerResponseBean searchCustomer() throws SolrServerException, IOException {

    SolrQuery solrQuery = new SolrQuery();
    solrQuery.setQuery("*");
    solrQuery.setFacet(true);
    solrQuery.setFacetMinCount(1);
    solrQuery.setFacetLimit(8);
    solrQuery.addFacetField("lastname");

    SolrRequest request = new QueryRequest(solrQuery, METHOD.POST);
    request.setPath(getRequestPath());
    QueryResponse response = new QueryResponse(solrServer.request(request), solrServer);
    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:fr.hoteia.qalingo.core.solr.service.impl.ProductSolrServiceImpl.java

License:Apache License

/**
  * /*from  www . j  a v  a  2  s.c  om*/
  */
public ProductResponseBean searchProduct() throws SolrServerException, IOException {

    SolrQuery solrQuery = new SolrQuery();
    solrQuery.setQuery("*");
    solrQuery.setFacet(true);
    solrQuery.setFacetMinCount(1);
    solrQuery.setFacetLimit(8);
    solrQuery.addFacetField("name");
    solrQuery.addFacetField("code");

    SolrRequest request = new QueryRequest(solrQuery, METHOD.POST);
    request.setPath(getRequestPath());
    QueryResponse response = new QueryResponse(solrServer.request(request), solrServer);
    List<ProductSkuSolr> productSkuSolrList = response.getBeans(ProductSkuSolr.class);
    List<FacetField> productSolrFacetFieldList = response.getFacetFields();

    ProductResponseBean productResponseBean = new ProductResponseBean();
    productResponseBean.setProductSolrList(productSkuSolrList);
    productResponseBean.setProductSolrFacetFieldList(productSolrFacetFieldList);

    return productResponseBean;
}

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

License:Apache License

/**
  * /* ww w .j  a  va 2s. c  o  m*/
  */
public StoreResponseBean searchStore() throws SolrServerException, IOException {

    SolrQuery solrQuery = new SolrQuery();
    solrQuery.setQuery("*");
    solrQuery.setFacet(true);
    solrQuery.setFacetMinCount(1);
    solrQuery.setFacetLimit(8);
    solrQuery.addFacetField("businessname");

    SolrRequest request = new QueryRequest(solrQuery, METHOD.POST);
    request.setPath(getRequestPath());
    QueryResponse response = new QueryResponse(solrServer.request(request), solrServer);
    List<StoreSolr> storeSolrList = response.getBeans(StoreSolr.class);
    List<FacetField> storeSolrFacetFieldList = response.getFacetFields();

    StoreResponseBean storeResponseBean = new StoreResponseBean();
    storeResponseBean.setStoreSolrList(storeSolrList);
    storeResponseBean.setStoreSolrFacetFieldList(storeSolrFacetFieldList);

    return storeResponseBean;
}

From source file:io.logspace.hq.core.solr.event.SolrNativeQueryService.java

License:Open Source License

@Override
public NativeQueryResult executeNativeQuery(Map<String, String[]> parameters) {
    SolrParams params = createSolrParams(parameters);

    try {// w  w w  . ja  v a  2  s .  c  om
        QueryRequest request = new QueryRequest(params, METHOD.POST);
        request.setResponseParser(new InputStreamResponseParser("json"));
        QueryResponse response = request.process(this.solrClient);

        InputStream inputStream = (InputStream) response.getResponse().get("stream");
        if (inputStream != null) {
            return new SolrNativeQueryResult(inputStream);
        }

        return new SolrNativeQueryResult(this.serializeResponse(params, response));
    } catch (SolrException | SolrServerException | IOException e) {
        throw new DataRetrievalException(
                "Could not execute direct query with parameters " + parameters.toString() + ".", e);
    }
}

From source file:io.logspace.hq.solr.SolrEventService.java

License:Open Source License

@Override
public NativeQueryResult executeNativeQuery(Map<String, String[]> parameters) {
    SolrParams params = this.createSolrParams(parameters);

    try {// ww  w. ja v a2 s .c  om
        QueryRequest request = new QueryRequest(params, METHOD.POST);
        request.setResponseParser(new InputStreamResponseParser("json"));
        QueryResponse response = request.process(this.solrClient);

        InputStream inputStream = (InputStream) response.getResponse().get("stream");
        if (inputStream != null) {
            return new SolrNativeQueryResult(inputStream);
        }

        return new SolrNativeQueryResult(this.serializeResponse(params, response));
    } catch (SolrException | SolrServerException | IOException e) {
        throw new DataRetrievalException(
                "Could not execute direct query with parameters " + parameters.toString() + ".", e);
    }
}

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

License:Apache License

public CatalogCategoryResponseBean searchCatalogCategory(String searchBy, String searchText, String facetField)
        throws SolrServerException, IOException {
    SolrQuery solrQuery = new SolrQuery();
    solrQuery.setParam("rows", ROWS_DEFAULT_VALUE);

    if (StringUtils.isEmpty(searchBy)) {
        throw new IllegalArgumentException("SearchBy field can not be Empty or Blank!");
    }//  w  ww.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);
    }

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

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

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

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

    List<CatalogCategorySolr> solrList = response.getBeans(CatalogCategorySolr.class);
    CatalogCategoryResponseBean catalogCategoryResponseBean = new CatalogCategoryResponseBean();
    catalogCategoryResponseBean.setCatalogCategorySolrList(solrList);

    if (StringUtils.isNotEmpty(facetField)) {
        List<FacetField> solrFacetFieldList = response.getFacetFields();
        catalogCategoryResponseBean.setCatalogCategorySolrFacetFieldList(solrFacetFieldList);
    }

    return catalogCategoryResponseBean;
}

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

License:Apache License

public CatalogCategoryResponseBean searchCatalogCategory() throws SolrServerException, IOException {
    SolrQuery solrQuery = new SolrQuery();
    solrQuery.setParam("rows", ROWS_DEFAULT_VALUE);

    solrQuery.setQuery("*");
    solrQuery.setFacet(true);/*  w w w.  ja  v a2 s . c  o  m*/
    solrQuery.setFacetMinCount(1);
    solrQuery.setFacetLimit(8);
    solrQuery.addFacetField("code");

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

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

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

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

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

    CatalogCategoryResponseBean catalogCategoryResponseBean = new CatalogCategoryResponseBean();
    catalogCategoryResponseBean.setCatalogCategorySolrList(solrList);
    catalogCategoryResponseBean.setCatalogCategorySolrFacetFieldList(solrFacetFieldList);
    return catalogCategoryResponseBean;
}