Example usage for org.apache.solr.common.params CommonParams HEADER_ECHO_PARAMS

List of usage examples for org.apache.solr.common.params CommonParams HEADER_ECHO_PARAMS

Introduction

In this page you can find the example usage for org.apache.solr.common.params CommonParams HEADER_ECHO_PARAMS.

Prototype

String HEADER_ECHO_PARAMS

To view the source code for org.apache.solr.common.params CommonParams HEADER_ECHO_PARAMS.

Click Source Link

Document

include the parameters in the header

Usage

From source file:com.tsgrp.solr.handler.NYPhilGetTagsHandler.java

License:Mozilla Public License

@Override
public void handleRequestBody(SolrQueryRequest req, SolrQueryResponse res)
        throws Exception, ParseException, InstantiationException, IllegalAccessException {
    NamedList<Object> params = req.getParams().toNamedList();

    String assetId = (String) params.get(PARAM_ASSET_ID);
    if (assetId == null || assetId.trim().length() < 0) {
        throw new SolrException(SolrException.ErrorCode.BAD_REQUEST, "Asset Id required to retrieve tags.");
    }//from   w  ww. j a v  a 2s.c o  m

    boolean allTags = (params.get(PARAM_ALL_TAGS) != null
            && Boolean.parseBoolean((String) params.get(PARAM_ALL_TAGS)));

    StringBuffer q = new StringBuffer("+").append(NYPhilSolrConstants.NPT_ASSET_ID_ESC).append(":")
            .append(QueryParser.escape(assetId));

    if (!allTags) {
        q.append(" +").append(NYPhilSolrConstants.NPT_STATUS_ESC).append(":")
                .append(NYPhilSolrConstants.STATUS_APPROVED);
    }

    String cb = (String) params.get(PARAM_CALLBACK);
    if (cb != null && cb.length() > 0) {
        params.add("json.wrf", cb);
    }

    params.add(CommonParams.HEADER_ECHO_PARAMS, "explicit");
    params.add(CommonParams.WT, "json");
    params.add("json.nl", "map");

    params.add(CommonParams.Q, q.toString());
    params.add(CommonParams.ROWS, 1000);

    req.setParams(SolrParams.toSolrParams(params));

    super.handleRequestBody(req, res);
}

From source file:com.tsgrp.solr.handler.NYPhilTagAutoCompleteHandler.java

License:Mozilla Public License

@Override
public void handleRequestBody(SolrQueryRequest req, SolrQueryResponse res)
        throws Exception, ParseException, InstantiationException, IllegalAccessException {
    NamedList<Object> params = req.getParams().toNamedList();

    params.add(CommonParams.ROWS, 0);//from w  w w  . j  a va 2  s.  c om
    params.add(FacetParams.FACET, true);
    params.add(FacetParams.FACET_FIELD, NYPhilSolrConstants.NPT_CONTENT_FACET);
    params.add(FacetParams.FACET_MINCOUNT, 1);
    params.add(FacetParams.FACET_SORT, FacetParams.FACET_SORT_INDEX);
    params.add(CommonParams.HEADER_ECHO_PARAMS, "explicit");
    params.add(CommonParams.WT, "json");
    params.add("json.nl", "map");

    String query = (String) params.get(PARAM_VALUE);
    if (query == null || query.length() == 0) {
        query = "*";
    } else {
        query = QueryParser.escape(query.toLowerCase());
    }

    String[] queryTerms = query.split(" ");

    // wrap our query term in parentheses to allow searching on terms separated by whitespace
    StringBuffer q = new StringBuffer();

    // for each query term, require the term with a trailing wildcard match
    for (String queryTerm : queryTerms) {

        // remove all non-alphanumeric chars from the query term
        queryTerm = QUERY_TERM_REGEX.matcher(queryTerm.toLowerCase()).replaceAll("");
        q.append("+").append(NYPhilSolrConstants.NPT_CONTENT_ESC).append(":")
                .append(QueryParser.escape(queryTerm)).append("* ");
    }
    q.append("+").append(NYPhilSolrConstants.NPT_STATUS_ESC).append(":")
            .append(NYPhilSolrConstants.STATUS_APPROVED);

    params.add(CommonParams.Q, q.toString());

    if (logger.isDebugEnabled()) {
        logger.debug("Autocomplete Query: " + q.toString());
    }

    String cb = (String) params.get(PARAM_CALLBACK);
    if (cb != null && cb.length() > 0) {
        params.add("json.wrf", cb);
    }

    req.setParams(SolrParams.toSolrParams(params));

    super.handleRequestBody(req, res);
}