List of usage examples for org.apache.solr.client.solrj SolrQuery setQuery
public SolrQuery setQuery(String query)
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 {/* w w w. j a va 2s.com*/ 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:com.villemos.ispace.solr.SolrProducer.java
License:Open Source License
private void configureQuery(SolrQuery query) throws IllegalArgumentException, IllegalAccessException, InvocationTargetException { /** Set the default values. May be overridden by later settings. */ query.setRows(endpoint.getRows());//from ww w . j a va2 s .co m query.setSortField(endpoint.getSortField(), endpoint.getSortOrder()); /** We per default always set highlighting. */ query.setHighlight(true).setHighlightSnippets(1); query.setParam("hl.fl", "withRawText"); /** Configure facets. */ query.setFacet(endpoint.getFacets()); if (endpoint.getFacets() == true) { query.setQuery(endpoint.getQuery()); query.setFacetSort(endpoint.getFacetsort()); query.setFacetLimit(endpoint.getFacetlimit()); query.setFacetPrefix(endpoint.getFacetprefix()); query.setFacetMinCount(endpoint.getMinCount()); query.setFacetMissing(endpoint.isFacetMissing()); } query.addFacetField(endpoint.getFacetField()); }
From source file:com.welab.x.blacklist.util.SearchEngine.java
License:Open Source License
/** * Query result from server./*from ww w . j av a 2 s . c o m*/ * * @param statement * @return SolrDocumentList * @throws SolrServerException * @throws Exception */ public static SolrDocumentList search(String statement) throws SolrServerException, Exception { // get current environment information String environment = Utility.getCurrentEnvironment(); // get the connection url for current environment String url = Utility.getUrlByEnvironment(environment); SolrQuery query = new SolrQuery(); query.setQuery(statement); try { QueryResponse rsp = Connection.getConnection(url).query(query); return rsp.getResults(); } catch (SolrServerException se) { LOG.error(ErrorMessage.SEARCH_SOLR_ERROR, se); throw se; } }
From source file:com.yahoo.ycsb.db.solr.SolrClient.java
License:Open Source License
/** * Read a record from the database. Each field/value pair from the result will be stored in a * HashMap./*ww w.j a va 2 s . c om*/ * * @param table * The name of the table * @param key * The record key of the record to read. * @param fields * The list of fields to read, or null for all of them * @param result * A HashMap of field/value pairs for the result * @return Zero on success, a non-zero error code on error or "not found". */ @Override public Status read(String table, String key, Set<String> fields, HashMap<String, ByteIterator> result) { try { Boolean returnFields = false; String[] fieldList = null; if (fields != null) { returnFields = true; fieldList = fields.toArray(new String[fields.size()]); } SolrQuery query = new SolrQuery(); query.setQuery("id:" + key); if (returnFields) { query.setFields(fieldList); } final QueryResponse response = client.query(table, query); SolrDocumentList results = response.getResults(); if ((results != null) && (results.getNumFound() > 0)) { for (String field : results.get(0).getFieldNames()) { result.put(field, new StringByteIterator(String.valueOf(results.get(0).getFirstValue(field)))); } } return checkStatus(response.getStatus()); } catch (IOException | SolrServerException e) { e.printStackTrace(); } return Status.ERROR; }
From source file:com.yahoo.ycsb.db.solr.SolrClient.java
License:Open Source License
/** * Perform a range scan for a set of records in the database. Each field/value pair from the * result will be stored in a HashMap./*from ww w . j av a 2 s . c o m*/ * * @param table * The name of the table * @param startkey * The record key of the first record to read. * @param recordcount * The number of records to read * @param fields * The list of fields to read, or null for all of them * @param result * A Vector of HashMaps, where each HashMap is a set field/value pairs for one record * @return Zero on success, a non-zero error code on error. See this class's description for a * discussion of error codes. */ @Override public Status scan(String table, String startkey, int recordcount, Set<String> fields, Vector<HashMap<String, ByteIterator>> result) { try { Boolean returnFields = false; String[] fieldList = null; if (fields != null) { returnFields = true; fieldList = fields.toArray(new String[fields.size()]); } SolrQuery query = new SolrQuery(); query.setQuery("*:*"); query.setParam("fq", "id:[ " + startkey + " TO * ]"); if (returnFields) { query.setFields(fieldList); } query.setRows(recordcount); final QueryResponse response = client.query(table, query); SolrDocumentList results = response.getResults(); HashMap<String, ByteIterator> entry; for (SolrDocument hit : results) { entry = new HashMap<String, ByteIterator>((int) results.getNumFound()); for (String field : hit.getFieldNames()) { entry.put(field, new StringByteIterator(String.valueOf(hit.getFirstValue(field)))); } result.add(entry); } return checkStatus(response.getStatus()); } catch (IOException | SolrServerException e) { e.printStackTrace(); } return Status.ERROR; }
From source file:com.yahoo.ycsb.db.solr6.SolrClient.java
License:Open Source License
/** * Perform a range scan for a set of records in the database. Each field/value pair from the * result will be stored in a HashMap.//from w ww .j a va2 s . c o m * * @param table * The name of the table * @param startkey * The record key of the first record to read. * @param recordcount * The number of records to read * @param fields * The list of fields to read, or null for all of them * @param result * A Vector of HashMaps, where each HashMap is a set field/value pairs for one record * @return Zero on success, a non-zero error code on error. See this class's description for a * discussion of error codes. */ @Override public Status scan(String table, String startkey, int recordcount, Set<String> fields, Vector<HashMap<String, ByteIterator>> result) { try { Boolean returnFields = false; String[] fieldList = null; if (fields != null) { returnFields = true; fieldList = fields.toArray(new String[fields.size()]); } SolrQuery query = new SolrQuery(); query.setQuery("*:*"); query.setParam("fq", "id:[ " + startkey + " TO * ]"); if (returnFields) { query.setFields(fieldList); } query.setRows(recordcount); final QueryResponse response = client.query(table, query); SolrDocumentList results = response.getResults(); HashMap<String, ByteIterator> entry; for (SolrDocument hit : results) { entry = new HashMap<>((int) results.getNumFound()); for (String field : hit.getFieldNames()) { entry.put(field, new StringByteIterator(String.valueOf(hit.getFirstValue(field)))); } result.add(entry); } return checkStatus(response.getStatus()); } catch (IOException | SolrServerException e) { e.printStackTrace(); } return Status.ERROR; }
From source file:com.zb.app.external.lucene.solr.utils.BaseSolrQueryConvert.java
License:Open Source License
public static SolrQuery createSuggestQuery(SuggestQuery query) { SolrQuery solrQuery = new SolrQuery(); StringBuilder sb = new StringBuilder(); sb.append("suggest:").append(query.getPrefix()).append("*"); solrQuery.setQuery(sb.toString()); solrQuery.addField(query.getField()); if (StringUtils.isNotEmpty(query.getSortFiled())) { solrQuery.addSort(query.getSortFiled(), SolrQuery.ORDER.desc); }//from w ww . j a v a2 s .co m solrQuery.setStart(0); solrQuery.setRows(100); // solrQuery.set("qt", "/terms"); // solrQuery.setFacet(true); // solrQuery.setFacetMinCount(1); // solrQuery.setFacetLimit(10); // solrQuery.setFacetPrefix(query.getField(), query.getPrefix()); // solrQuery.setFacetSort(query.getSortFiled()); // solrQuery.setRows(0); // solrQuery.setQuery("*"); // solrQuery.setTerms(true); // solrQuery.setTermsLimit(10); // solrQuery.setTermsMinCount(1); // solrQuery.setTermsPrefix(query.getPrefix()); // solrQuery.setTermsRegexFlag(query.getField()); // solrQuery.setTermsSortString(query.getSortFiled()); return solrQuery; }
From source file:com.zb.app.external.lucene.solr.utils.BaseSolrQueryConvert.java
License:Open Source License
protected static SolrQuery createSearchQuery(List<String> params, List<String> fiters, SearchQuery searchQuery) {/*from ww w. ja v a2 s.com*/ SolrQuery solrQuery = new SolrQuery(); String query = null; if (Argument.isEmpty(params)) { query = ("*:*"); } else { query = StringUtils.join(params, " AND "); if (!StringUtils.join(params.toArray()).contains("*")) { solrQuery.setRequestHandler("/browse"); } } if (Argument.isNotEmpty(fiters)) { solrQuery.setFilterQueries(StringUtils.join(fiters, " AND ")); } solrQuery.setQuery(query); solrQuery.setStart(searchQuery.getStart()); solrQuery.setRows(searchQuery.getRows()); if (StringUtils.isNotBlank(searchQuery.getSortFiled())) { solrQuery.addSort(searchQuery.getSortFiled(), searchQuery.getOrderBy()); } return solrQuery; }
From source file:cz.brmlab.yodaqa.provider.solr.Solr.java
License:Apache License
public SolrDocumentList runQuery(String q, int results) throws SolrServerException { SolrQuery query = new SolrQuery(); query.setQuery(escapeQuery(q)); query.setRows(results);/*from ww w.j av a2 s . c o m*/ query.setFields("*", "score"); QueryResponse rsp; while (true) { try { rsp = server.query(query, METHOD.POST); break; // Success! } catch (SolrServerException e) { if (e.getRootCause() instanceof IOException) notifyRetry(e); else throw e; } } return rsp.getResults(); }
From source file:cz.brmlab.yodaqa.provider.solr.Solr.java
License:Apache License
public String getDocText(String id) throws SolrServerException { String q = "id:" + id; SolrQuery query = new SolrQuery(); query.setQuery(q); query.setFields("text"); QueryResponse rsp;/*from w w w .j a v a2s. c om*/ while (true) { try { rsp = server.query(query); break; // Success! } catch (SolrServerException e) { if (e.getRootCause() instanceof IOException) notifyRetry(e); else throw e; } } String docText = ""; if (rsp.getResults().getNumFound() > 0) { @SuppressWarnings({ "unchecked", "rawtypes" }) ArrayList<String> results = (ArrayList) rsp.getResults().get(0).getFieldValues("text"); docText = results.get(0); } return docText; }