List of usage examples for org.apache.solr.client.solrj SolrQuery setTermsPrefix
public SolrQuery setTermsPrefix(String prefix)
From source file:com.frank.search.solr.core.TermsQueryParser.java
License:Apache License
protected void appendTermsOptionsToSolrQuery(TermsOptions options, SolrQuery solrQuery) { solrQuery.setTerms(true);// www. j av a2 s . c o 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 w ww .j a va2 s . c om 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; }
From source file:cz.incad.vdk.client.tools.Search.java
License:Open Source License
public JSONArray getSuggest() { try {/*from w ww . j av a 2 s .co m*/ String q = req.getParameter("term"); SolrQuery query = new SolrQuery(); if (q == null || q.equals("")) { return new JSONArray(); } query.setParam(CommonParams.QT, "/terms"); query.setTerms(true); query.setTermsPrefix(q.toUpperCase()); query.setTermsLowerInclusive(true); query.addTermsField("title_suggest"); JSONArray ja = new JSONObject(IndexerQuery.terms(query)).getJSONObject("terms") .getJSONArray("title_suggest"); JSONArray ret = new JSONArray(); for (int i = 0; i < ja.length(); i = i + 2) { String val = ja.getString(i); ret.put(new JSONObject().put("value", val).put("label", val.substring(val.indexOf("##") + 2))); } return ret; } catch (IOException ex) { Logger.getLogger(Search.class.getName()).log(Level.SEVERE, null, ex); return new JSONArray(); } }