List of usage examples for org.apache.solr.client.solrj SolrQuery setTermsSortString
public SolrQuery setTermsSortString(String type)
From source file:com.frank.search.solr.core.TermsQueryParser.java
License:Apache License
protected void appendTermsOptionsToSolrQuery(TermsOptions options, SolrQuery solrQuery) { solrQuery.setTerms(true);/*w ww . j a v a 2 s . co m*/ if (options.getLimit() >= 0) { solrQuery.setTermsLimit(options.getLimit()); } if (options.getMaxCount() >= -1) { solrQuery.setTermsMaxCount(options.getMaxCount()); } if (options.getMinCount() >= 0) { solrQuery.setTermsMinCount(options.getMinCount()); } if (StringUtils.hasText(options.getPrefix())) { solrQuery.setTermsPrefix(options.getPrefix()); } if (StringUtils.hasText(options.getRegex())) { solrQuery.setTermsRegex(options.getRegex()); } if (options.getRegexFlag() != null) { solrQuery.setTermsRegexFlag(options.getRegexFlag().toString().toLowerCase()); } if (options.getSort() != null) { solrQuery.setTermsSortString(options.getSort().toString().toLowerCase()); } if (options.getUpperBoundTerm() != null) { solrQuery.setTermsUpper(options.getUpperBoundTerm().getTerm()); solrQuery.setTermsUpperInclusive(options.getUpperBoundTerm().isInclude()); } if (options.getLowerBoundTerm() != null) { solrQuery.setTermsUpper(options.getLowerBoundTerm().getTerm()); solrQuery.setTermsUpperInclusive(options.getLowerBoundTerm().isInclude()); } if (!options.isRaw()) { solrQuery.setTermsRaw(options.isRaw()); } }
From source file:com.temenos.interaction.commands.solr.TermsCommand.java
License:Open Source License
public Result execute(InteractionContext ctx) { MultivaluedMap<String, String> queryParams = ctx.getQueryParameters(); String entityName = ctx.getCurrentState().getEntityName(); try {//from www.j a va 2s . c o m String queryStr = queryParams.getFirst("q"); SolrQuery query = new SolrQuery(); query.setRequestHandler("/terms"); // query.setFields("id", "name", "mnemonic", "address", "postcode"); query.setQuery(queryStr); // TODO make these configurable query.addTermsField("name"); query.addTermsField("mnemonic"); query.setTermsPrefix(queryStr); query.setTermsSortString("count"); query.setTerms(true); query.setTermsLimit(10); QueryResponse rsp = solrServer.query(query); ctx.setResource(buildCollectionResource(entityName, "name", rsp.getTermsResponse().getTermMap())); return Result.SUCCESS; } catch (SolrServerException e) { logger.error("An unexpected error occurred while querying Solr", e); } return Result.FAILURE; }