List of usage examples for org.apache.solr.client.solrj SolrQuery setRows
public SolrQuery setRows(Integer rows)
From source file:com.eharmony.matching.seeking.executor.solr.SolrQueryExecutor.java
License:Apache License
@Override public <T, R> R findOne(Query<T, R> query) { SolrQuery solrQuery = translate(query); solrQuery.setRows(1); List<R> list = fetch(solrQuery, query.getReturnType()); return list.size() > 0 ? list.get(0) : null; }
From source file:com.frank.search.solr.core.QueryParserBase.java
License:Apache License
/** * Append pagination information {@code start, rows} to * {@link org.apache.solr.client.solrj.SolrQuery} * * @param query//w w w . j a va 2 s .c om * @param offset * @param rows */ protected void appendPagination(SolrQuery query, Integer offset, Integer rows) { if (offset != null && offset.intValue() >= 0) { query.setStart(offset); } if (rows != null && rows.intValue() >= 0) { query.setRows(rows); } }
From source file:com.frank.search.solr.core.SolrTemplate.java
License:Apache License
@Override public long count(final SolrDataQuery query) { Assert.notNull(query, "Query must not be 'null'."); return execute(new SolrCallback<Long>() { @Override//from w ww. j ava 2 s . c om public Long doInSolr(SolrClient solrClient) throws SolrServerException, IOException { SolrQuery solrQuery = queryParsers.getForClass(query.getClass()).constructSolrQuery(query); solrQuery.setStart(0); solrQuery.setRows(0); return solrClient.query(solrQuery).getResults().getNumFound(); } }); }
From source file:com.gdn.x.ui.controller.CommonController.java
protected List searchByQuery(String queryParameter) throws MalformedURLException, SolrServerException { List actualResult = new ArrayList<String>(); try {/*from w ww .ja v a 2 s . co m*/ // for solr 5 HttpSolrClient solr = new HttpSolrClient(solrUrlSearch); //for Solr 4 // HttpSolrServer solr = new HttpSolrServer(""); SolrQuery query = new SolrQuery(); query.setQuery(queryParameter); query.setFields("id"); query.setRequestHandler("/browse"); query.setStart(0); query.setRows(40); QueryResponse response = solr.query(query); SolrDocumentList results = response.getResults(); int j = 0; for (int i = 0; i < results.size(); ++i, j++) { actualResult.add(results.get(i).get("id")); } } catch (IOException ex) { Logger.getLogger(RunGoldenListController.class.getName()).log(Level.SEVERE, null, ex); } return actualResult; }
From source file:com.gdn.x.ui.controller.Evaluation.CommonControllerEvaluation.java
protected List searchByQueryEvaluation(String queryParameter) throws MalformedURLException, SolrServerException { List actualResult = new ArrayList<String>(); try {//from www . j av a 2s. c om // for solr 5 HttpSolrClient solr = new HttpSolrClient(solrUrlSearch); //for Solr 4 // HttpSolrServer solr = new HttpSolrServer("http://172.17.132.9:8983/solr/collection3"); SolrQuery query = new SolrQuery(); query.setQuery(queryParameter); query.setFields("id"); query.setRequestHandler("/browse"); query.setStart(0); query.setRows(24); QueryResponse response = solr.query(query); SolrDocumentList results = response.getResults(); int j = 0; for (int i = 0; i < results.size(); ++i, j++) { actualResult.add(results.get(i).get("id")); } // System.out.println(results.getNumFound()); // System.out.println(actualResult); } catch (IOException ex) { Logger.getLogger(RunGoldenListController.class.getName()).log(Level.SEVERE, null, ex); } return actualResult; }
From source file:com.gisgraphy.domain.repository.GenericGisDao.java
License:Open Source License
/** * Do a full text search for the given name. The search will be case, * iso-latin, comma-separated insensitive<br> * search for 'saint-Andr', 'saint-Andre', 'SaInT-andr', 'st-andr', etc * will return the same results. <u>note</u> : search for zipcode too * Polymorphism is not supported, e.g : if clazz=GisFeature : the results * will only be of that type and no other feature type (e.g : City that * extends gisFeature...etc) will be returned. The results will be sort by * relevance./* w w w .j a v a 2 s . c om*/ * * @param name * The name to search for * @param includeAlternateNames * Wether we search in the alternatenames too * @param clazz * specify the features we want to search for, if null : no * restriction is apply * @return a list of gisFeatures of type of the class for the given text. * the max list size is {@link GenericGisDao#MAX_FULLTEXT_RESULTS}; * @see IGisFeatureDao#listAllFeaturesFromText(String, boolean) */ protected List<T> listFromText(String name, boolean includeAlternateNames, Class<T> clazz) { logger.debug("getFromText " + name); // Set up a simple query // Check for a null or empty string query if (name == null || name.length() == 0) { return new ArrayList<T>(); } SolrQuery query = new SolrQuery(); String namefield = FullTextFields.ALL_NAME.getValue(); if (!includeAlternateNames) { namefield = FullTextFields.NAME.getValue(); } String queryString = "(" + namefield + ":\"" + name + "\" OR " + FullTextFields.ZIPCODE.getValue() + ":\"" + name + "\")"; if (clazz != null) { queryString += " AND placetype:" + persistentClass.getSimpleName(); } query.setQuery(queryString); query.setQueryType(Constants.SolrQueryType.advanced.toString()); query.setFields(FullTextFields.FEATUREID.getValue()); query.setRows(MAX_FULLTEXT_RESULTS); QueryResponse results = null; try { results = solrClient.getServer().query(query); } catch (SolrServerException e) { throw new RuntimeException(e); } List<Long> ids = new ArrayList<Long>(); for (SolrDocument doc : results.getResults()) { ids.add((Long) doc.getFieldValue(FullTextFields.FEATUREID.getValue())); } // log List<T> gisFeatureList = this.listByFeatureIds(ids); if (logger.isDebugEnabled()) { logger.debug("search on " + name + " returns " + gisFeatureList.size()); for (GisFeature gisFeature : gisFeatureList) { logger.debug("search on " + name + " returns " + gisFeature.getName()); } } return gisFeatureList; }
From source file:com.github.fengtan.sophie.tables.DocumentsTable.java
License:Open Source License
/** * Get select query and populate the start/rows/fq parameters. * /*from w ww. ja v a 2s. c o m*/ * @param start * Offset at which Solr should being returning documents. * @param rows * How many rows Solr should return. * @return Solr query. */ private SolrQuery getBaseQuery(int start, int rows) { SolrQuery query = new SolrQuery("*:*"); query.setStart(start); query.setRows(rows); // Add filters. for (Entry<String, String> filter : filters.entrySet()) { if (StringUtils.equals(filter.getValue(), LABEL_EMPTY)) { // Empty value needs a special syntax. query.addFilterQuery("-" + filter.getKey() + ":[* TO *]"); } else { // Colons in value need to be escaped to avoid a syntax error. query.addFilterQuery(filter.getKey() + ":" + filter.getValue().replace(":", "\\:")); } } return query; }
From source file:com.googlecode.solrgeonames.server.GeoServlet.java
License:Open Source License
/** * Prepare a 'suggest' query response/*from w w w. j a va2 s . c o m*/ * * @param request The incoming request * @param response The response object * @throws IOException If errors found */ private QueryResponse runQuery(String query, int start, int rows, String fields, String filter, String[] facets, int facetLimit) throws Exception { SolrQuery q = new SolrQuery(); q.setQuery(query); q.setStart(start); q.setRows(rows); q.setFields(fields); if (filter != null) { q.setFilterQueries(filter); } if (facets != null) { q.setFacet(true); q.setFacetLimit(facetLimit); q.addFacetField(facets); } else { q.setFacet(false); } return solrServer.query(q); }
From source file:com.hurence.logisland.service.solr.api.SolrClientService.java
License:Apache License
@Override public long countCollection(String name) throws DatastoreClientServiceException { try {/*w ww.ja v a 2 s . c o m*/ SolrQuery q = new SolrQuery("*:*"); q.setRows(0); // don't actually request any data return getClient().query(name, q).getResults().getNumFound(); } catch (Exception e) { throw new DatastoreClientServiceException(e); } }
From source file:com.hurence.logisland.service.solr.api.SolrClientService.java
License:Apache License
@Override public void copyCollection(String reindexScrollTimeout, String src, String dst) throws DatastoreClientServiceException { SolrQuery solrQuery = new SolrQuery(); solrQuery.setRows(1000); solrQuery.setQuery("*:*"); solrQuery.addSort("id", SolrQuery.ORDER.asc); // Pay attention to this line String cursorMark = CursorMarkParams.CURSOR_MARK_START; boolean done = false; QueryResponse response;/*from w w w .ja v a 2 s. c o m*/ try { do { solrQuery.set(CursorMarkParams.CURSOR_MARK_PARAM, cursorMark); response = getClient().query(src, solrQuery); List<SolrInputDocument> documents = new ArrayList<>(); for (SolrDocument document : response.getResults()) { SolrInputDocument inputDocument = getConverter().toSolrInputDocument(document); inputDocument.removeField("_version_"); documents.add(inputDocument); } getClient().add(dst, documents); } while (cursorMark.equals(response.getNextCursorMark())); getClient().commit(dst); } catch (Exception e) { throw new DatastoreClientServiceException(e); } }