List of usage examples for org.apache.solr.client.solrj SolrQuery setRows
public SolrQuery setRows(Integer rows)
From source file:de.fhg.iais.cortex.search.DeleterImpl.java
License:Apache License
private List<String> getDocumentIds(SolrQuery solrQuery) throws SolrServerException { List<String> ids = new LinkedList<String>(); solrQuery.setRows(Integer.MAX_VALUE); QueryResponse queryResponse = this.solrSlaveServer.query(solrQuery); long numFound = queryResponse.getResults().getNumFound(); for (SolrDocument solrDocument : queryResponse.getResults()) { ids.add((String) solrDocument.getFieldValue(SolrFields.ID)); }/*from w ww . j a v a 2 s .c o m*/ if (numFound > Integer.MAX_VALUE) { throw new IndexerException( "Can only delete " + Integer.MAX_VALUE + " many items, but found " + numFound + " items."); } return ids; }
From source file:de.hebis.it.hds.gnd.out.AutorityRecordFileWriter.java
License:Open Source License
/** * Loop over all entries in the repository to write them to the output file *//* w w w . j av a2 s . c o m*/ private void listAllEntries() { String cursorMark = "*"; String nextCursorMark = null; QueryResponse rsp = null; SolrQuery query = new SolrQuery("id:*"); query.setRows(Integer.valueOf(config.getProperty("StepSizeForExport", "100"))); query.setSort(SortClause.asc("id")); do { // start with '*' in the first iteration, then use the last position if (nextCursorMark != null) { cursorMark = nextCursorMark; } // use the last position as new start value. query.set("cursorMark", new String[] { cursorMark }); if (LOG.isTraceEnabled()) { LOG.trace(query.toString()); } // execute the query try { rsp = server.query(query); if (rsp.getStatus() != 0) throw new SolrServerException("Responsestatus: " + rsp.getStatus()); } catch (SolrServerException | IOException e) { e.printStackTrace(); throw new RuntimeException("The index can't eval \"" + query.toString() + "\".", e); } nextCursorMark = rsp.getNextCursorMark(); // get the results of partial results List<AuthorityBean> partialResults = rsp.getBeans(AuthorityBean.class); if (LOG.isTraceEnabled()) LOG.trace(partialResults.size() + " records in this packet"); // loop over the results for (AuthorityBean entry : partialResults) { if (LOG.isTraceEnabled()) LOG.trace("Bearbeite: " + entry.id); printOut(entry); if ((maxCount != Integer.MAX_VALUE) && (count >= maxCount)) return; // optional exit for debug purposes } out.flush(); } while (!cursorMark.equals(nextCursorMark)); }
From source file:de.kp.ames.web.core.search.SearcherImpl.java
License:Open Source License
public String facet() throws Exception { /*//from ww w. j a va2 s . com * Create query */ SolrQuery query = new SolrQuery(); query.setRows(0); /* * A single facet field is supported */ query.addFacetField(JsonConstants.J_FACET); query.setQuery("*"); /* * Retrieve facets from Apache Solr */ QueryResponse response = solrProxy.executeQuery(query); FacetField facet = response.getFacetField(JsonConstants.J_FACET); /* * Evaluate response */ if (facet == null) return new JSONArray().toString(); /* * Sort search result */ StringCollector collector = new StringCollector(); List<Count> values = facet.getValues(); if (values == null) return new JSONArray().toString(); for (int i = 0; i < values.size(); i++) { Count count = values.get(i); String name = facet.getName(); JSONObject jCount = new JSONObject(); jCount.put(JsonConstants.J_COUNT, count.getCount()); jCount.put(JsonConstants.J_FIELD, facet.getName()); jCount.put(JsonConstants.J_VALUE, count.getName()); collector.put(name, jCount); } JSONArray jArray = new JSONArray(collector.values()); return jArray.toString(); }
From source file:de.kp.ames.web.core.search.SearcherImpl.java
License:Open Source License
public String search(String request, String start, String limit) throws Exception { /*//from w ww .j a v a 2 s .c o m * Build Apache Solr query */ JSONObject jQuery = new JSONObject(request); String term = jQuery.has(JsonConstants.J_TERM) ? jQuery.getString(JsonConstants.J_TERM) : "*"; String fp = setFacets(jQuery); SolrQuery query = new SolrQuery(); if (fp != null) query.addFilterQuery(fp); /* * Paging support from Apache Solr */ int s = Integer.valueOf(start); int r = Integer.valueOf(limit); query.setStart(s); query.setRows(r); String qs = term + " OR " + SearchConstants.TERMS_FIELD + ":" + term; query.setQuery(qs); QueryResponse response = solrProxy.executeQuery(query); SolrDocumentList docs = response.getResults(); long total = docs.getNumFound(); /* * Sort search result */ StringCollector collector = new StringCollector(); Iterator<SolrDocument> iter = docs.iterator(); while (iter.hasNext()) { int pos = -1; SolrDocument doc = iter.next(); JSONObject jDoc = new JSONObject(); /* * Identifier */ String id = (String) doc.getFieldValue(SearchConstants.S_ID); jDoc.put(JsonConstants.J_ID, id); /* * Name */ String name = (String) doc.getFieldValue(SearchConstants.S_NAME); jDoc.put(JsonConstants.J_NAME, name); /* * Source */ String source = (String) doc.getFieldValue(SearchConstants.S_FACET); pos = source.lastIndexOf(":"); jDoc.put(JsonConstants.J_FACET, source.substring(pos + 1)); /* * Description */ String desc = (String) doc.getFieldValue(SearchConstants.S_DESC); desc = (desc == null) ? FncMessages.NO_DESCRIPTION_DESC : desc; jDoc.put(JsonConstants.J_DESC, desc); collector.put(name, jDoc); } /* * Render result */ JSONArray jArray = new JSONArray(collector.values()); return renderer.createGrid(jArray, total); }
From source file:de.qaware.chronix.solr.client.stream.SolrStreamingService.java
License:Apache License
private void initStreamingService(SolrQuery query, SolrClient connection) { SolrQuery solrQuery = query.getCopy(); solrQuery.setRows(0); //we do not need any data from the server expect the total number of found documents solrQuery.setFields(""); try {//w w w .ja v a 2 s.co m QueryResponse response = connection.query(solrQuery); nrOfAvailableTimeSeries = response.getResults().getNumFound(); queryStart = (long) response.getResponseHeader().get(ChronixSolrStorageConstants.QUERY_START_LONG); queryEnd = (long) response.getResponseHeader().get(ChronixSolrStorageConstants.QUERY_END_LONG); } catch (SolrServerException | IOException e) { LOGGER.error("SolrServerException occurred while querying server.", e); } }
From source file:de.qaware.chronix.solr.client.stream.SolrStreamingService.java
License:Apache License
private void streamDocumentsFromSolr() { SolrQuery solrQuery = query.getCopy(); solrQuery.setRows(nrOfTimeSeriesPerBatch); solrQuery.setStart(currentDocumentCount); solrStreamingHandler.init(nrOfTimeSeriesPerBatch, currentDocumentCount); try {/*from w ww .jav a2 s .c o m*/ connection.queryAndStreamResponse(solrQuery, solrStreamingHandler); SolrDocument document; do { document = solrStreamingHandler.pool(); if (document != null) { ListenableFuture future = service .submit(new TimeSeriesConverterCaller<>(document, converter, queryStart, queryEnd)); Futures.addCallback(future, timeSeriesHandler); } } while (solrStreamingHandler.canPoll()); } catch (SolrServerException | IOException e) { LOGGER.warn("Exception while streaming the data points from Solr", e); } }
From source file:de.qaware.chronix.storage.solr.stream.SolrStreamingService.java
License:Apache License
private void initialStream(SolrQuery query, SolrClient connection) { try {// w ww . ja v a 2 s. c o m SolrQuery solrQuery = query.getCopy(); solrQuery.setRows(nrOfTimeSeriesPerBatch); solrQuery.setStart(currentDocumentCount); solrStreamingHandler.init(nrOfTimeSeriesPerBatch, currentDocumentCount); QueryResponse response = connection.queryAndStreamResponse(solrQuery, solrStreamingHandler); nrOfAvailableTimeSeries = response.getResults().getNumFound(); queryStart = 0;//(long) response.getResponseHeader().get(ChronixSolrStorageConstants.QUERY_START_LONG); queryEnd = Long.MAX_VALUE;//(long) response.getResponseHeader().get(ChronixSolrStorageConstants.QUERY_END_LONG); needStream = false; } catch (SolrServerException | IOException e) { LOGGER.error("SolrServerException occurred while querying server.", e); } }
From source file:de.qaware.chronix.storage.solr.stream.SolrStreamingService.java
License:Apache License
private void streamNextDocumentsFromSolr() { SolrQuery solrQuery = query.getCopy(); solrQuery.setRows(nrOfTimeSeriesPerBatch); solrQuery.setStart(currentDocumentCount); solrStreamingHandler.init(nrOfTimeSeriesPerBatch, currentDocumentCount); try {/* w w w .j a v a 2 s .c om*/ connection.queryAndStreamResponse(solrQuery, solrStreamingHandler); convertStream(); } catch (SolrServerException | IOException e) { LOGGER.warn("Exception while streaming the data points from Solr", e); } }
From source file:de.unidue.inf.is.ezdl.dlwrapper.wrappers.AbstractSolrWrapper.java
License:Open Source License
@Override public final StoredDocumentList process(DocumentQuery documentQuery) { String solrQueryString = queryConverter.convert(documentQuery.getQuery()); getLogger().info("Query is: " + solrQueryString); SolrQuery query = new SolrQuery(); query.setIncludeScore(true);// www . java 2 s. c o m query.setRows(getMaxNumberOfResults()); query.setQuery(solrQueryString); try { QueryResponse response = server.query(query); SolrDocumentList hits = response.getResults(); StoredDocumentList result = new StoredDocumentList(); for (int i = 0; (i < hits.size()) && !isHalted(); i++) { SolrDocument doc = hits.get(i); StoredDocument stored = readDocumentFromSolrIndex(doc); result.add(stored); } if (!isHalted()) { return result; } else { return new StoredDocumentList(); } } catch (SolrServerException e) { getLogger().error(e.getMessage(), e); } return new StoredDocumentList(); }
From source file:de.unidue.inf.is.ezdl.dlwrapper.wrappers.AbstractSolrWrapper.java
License:Open Source License
/** * Retrieves Solr document by its id./*from w w w .j a v a 2 s . c om*/ * * @param id * The id * @param field * The id field * @return The Solr document with the specified id */ protected final SolrDocument retrieveSolrDocumentForId(String id, Field field) { SolrQuery query = new SolrQuery(); query.setIncludeScore(true); query.setRows(1); QueryNodeCompare queryNodeCompare = new QueryNodeCompare(field, Predicate.EQ, id); query.setQuery(queryConverter.convert(new DefaultQuery(queryNodeCompare))); QueryResponse response; try { response = server.query(query); SolrDocumentList hits = response.getResults(); if (hits.size() == 1) { return hits.get(0); } } catch (SolrServerException e) { getLogger().error(e.getMessage(), e); } return null; }