Example usage for org.apache.solr.common.params AppendedSolrParams AppendedSolrParams

List of usage examples for org.apache.solr.common.params AppendedSolrParams AppendedSolrParams

Introduction

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

Prototype

private AppendedSolrParams(SolrParams main, SolrParams extra) 

Source Link

Usage

From source file:com.sn.solr.plugin.comp.RankComponent.java

License:Apache License

/**
 * <p>//from www .j a  v  a 2  s  .c  o  m
 * Process request parameters & determines the ranking strategy based on
 * request. Creates invariants that are needed for request processing, this is 
 * added on top of user request parameters. Appends invariants to existing
 * request params & call super.prepare(). 
 * 
 * @param rb
 */
@SuppressWarnings("deprecation")
@Override
public void prepare(ResponseBuilder rb) throws IOException {
    SolrParams params = rb.req.getParams();
    RankStrategy rankStrategy = getRankStrategy(params);
    String rankField = getRankField(params);

    if (!(rankStrategy.equals(RankStrategy.ORDINAL) || rankStrategy.equals(RankStrategy.LEGACY_DENSE))) {
        SolrQuery invariants = new SolrQuery().setFacet(true).addFacetField(rankField).setFacetLimit(-1);
        AppendedSolrParams appendedParams = new AppendedSolrParams(params, invariants);
        LOG.info("Setting Invariants: {} Appended Params{}", new Object[] { invariants, appendedParams });
        rb.req.setParams(appendedParams);
    }
    super.prepare(rb);
}