final SolrDocument lastSolrDocument = documentList.get(response.getResults().size()-1); final String latestDateValue = df.format(lastSolrDocument.get(dateField)); final String newCursorMark = response.getNextCursorMark();
responseAttributes.put(ATTRIBUTE_CURSOR_MARK, response.getNextCursorMark()); responseAttributes.put(ATTRIBUTE_SOLR_STATUS, String.valueOf(response.getStatus())); responseAttributes.put(ATTRIBUTE_QUERY_TIME, String.valueOf(response.getQTime()));
solrQuery.set(CursorMarkParams.CURSOR_MARK_PARAM, cursorMark); QueryResponse rsp = solrClient.query(METAALERTS_COLLECTION, solrQuery); String nextCursorMark = rsp.getNextCursorMark(); rsp.getResults().stream() .map(solrDocument -> SolrUtilities.getSearchResult(solrDocument, null,
@Override public Optional<String> nextCursor() { return Optional.ofNullable(this.response.getNextCursorMark()); }
@Override protected Iterator<Map<String,Object>> createNextPageIterator(QueryResponse response) { return new SolrDocumentListCursor(response.getResults(), response.getNextCursorMark()) ; } }
/** * The current 'page' of results. If the current page has been fully iterated then a new page is fetched * automatically. * * @return the current 'page' of results taken from the Solr index */ private List<SolrDocument> getResults() { if (index >= results.size()) { try { // Cursor-based pagination. String cursorMark = getQuery().get(CursorMarkParams.CURSOR_MARK_PARAM); QueryResponse response = this.solrInstanceProvider.get().query(query); if (cursorMark.equals(response.getNextCursorMark())) { results = Collections.emptyList(); } else { results = response.getResults(); query.set(CursorMarkParams.CURSOR_MARK_PARAM, response.getNextCursorMark()); } } catch (Exception e) { results = Collections.emptyList(); logger.error("Failed to query the Solr index.", e); } index = 0; } return results; }
@Override public boolean hasNext() { try { final QueryResponse response = cloud.query(query); sentCursorMark = query.get("cursorMark"); nextCursorMark = response.getNextCursorMark(); page = response.getResults(); return page.size() > 0; } catch (final Exception exception) { throw new RuntimeException(exception); } }
@Override public boolean hasNext() { try { final QueryResponse response = cloud.query(query); sentCursorMark = query.get("cursorMark"); nextCursorMark = response.getNextCursorMark(); page = response.getResults(); return page.size() > 0; } catch (final Exception exception) { throw new RuntimeException(exception); } }
@Override protected org.springframework.data.solr.core.query.result.DelegatingCursor.PartialResult<T> doLoad( SolrQuery nativeQuery) { QueryResponse response = executeSolrQuery(collection, nativeQuery, getSolrRequestMethod(getDefaultRequestMethod())); if (response == null) { return new PartialResult<>("", Collections.<T> emptyList()); } return new PartialResult<>(response.getNextCursorMark(), convertQueryResponseToBeans(response, clazz)); }
nextCursorMark = rsp.getNextCursorMark(); next = this.solrDocIterator.hasNext(); } catch (SolrServerException e) {
SolrQuery solrQuery = new SolrQuery(); solrQuery.setRows(500); solrQuery.setQuery("*:*"); solrQuery.addSort("id", ORDER.asc); // Pay attention to this line String cursorMark = CursorMarkParams.CURSOR_MARK_START; boolean done = false; while (!done) { solrQuery.set(CursorMarkParams.CURSOR_MARK_PARAM, cursorMark); QueryResponse rsp = solrClient.query(solrQuery); String nextCursorMark = rsp.getNextCursorMark(); for (SolrDocument d : rsp.getResults()) { ... } if (cursorMark.equals(nextCursorMark)) { done = true; } cursorMark = nextCursorMark; }
solrQuery.set(CursorMarkParams.CURSOR_MARK_PARAM, cursorMark); QueryResponse rsp = client.query(solrQuery); String nextCursorMark = rsp.getNextCursorMark(); if (nextCursorMark == null) { logger.warn("ATTENTION: you're dealing with a old version of Solr which does not support cursors");
nextCursorMark = solrResponse.getNextCursorMark(); solrIterator = solrResponse.getBeans(VariantSearchModel.class).iterator(); return solrIterator.hasNext();
private String getCursorMarkForStart(HttpSolrClient server, SolrQuery solrQuery) throws SolrServerException, IOException { Integer prevRows = solrQuery.getRows(); solrQuery.setRows(solrQuery.getStart()); solrQuery.setStart(0); solrQuery.set(CursorMarkParams.CURSOR_MARK_PARAM, CursorMarkParams.CURSOR_MARK_START); QueryResponse rsp = server.query(solrQuery); if (this.solrDataStore.getLogger().isLoggable(Level.FINE)) { this.solrDataStore .getLogger() .log(Level.FINE, "SOLR query done: " + solrQuery.toString()); } String nextC = rsp.getNextCursorMark(); solrQuery.setRows(prevRows); return nextC; }
try { init(sq,response.getNextCursorMark()); response = sc.query(sq); docs = response.getResults(); String nextCursorMark = response.getNextCursorMark(); if (cursorMark.equals(nextCursorMark)) {//没有更多的记录 return false;
/** * Map solr query response to search results. * * @param queryResponse * the query response * @return the search results * */ public FulltextSearchResults mapSolrToSearchResults(final QueryResponse queryResponse) { if (queryResponse == null) { throw new GeneralServiceException("Null QueryResponse given."); } final SolrDocumentList responseDocumentList = queryResponse.getResults(); final Float maxScore = getMaxScoreToNormalize(responseDocumentList); if (LOG.isTraceEnabled()) { LOG.trace("Mapping response: {}", queryResponse); } final Map<String, Map<String, List<String>>> highlighting = queryResponse.getHighlighting(); final Iterator<SolrDocument> i = responseDocumentList.iterator(); // collect results final List<FulltextSearchResult> results = collectSearchResults(i, highlighting, maxScore); // create search results object String cursorMark = queryResponse.getNextCursorMark(); final FulltextSearchResults searchResults = new FulltextSearchResultsImpl(results, (int) responseDocumentList.getStart(), (int) responseDocumentList.getNumFound(), cursorMark); // add facet info searchResults.setFacetResult(FacetBuilder.mapFacetResult(queryResponse)); return searchResults; }
@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; 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); } }
QueryResponse response; response = client.query(replica.coreName(), solrQuery); if (cursorMark.equals(response.getNextCursorMark())) { break; cursorMark = response.getNextCursorMark(); for (SolrDocument doc : response.getResults()) { out.output(doc);
QueryResponse response = index.query(SolrCollectionRegistry.getIndexName(classToRetrieve), query); IndexResult<T> result = queryResponseToIndexResult(response, classToRetrieve, Facets.NONE, fieldsToReturn); ret = Pair.of(result, response.getNextCursorMark()); } catch (SolrServerException | IOException | NotSupportedException e) { throw new GenericException("Could not query index", e);
nextCursorMark = rsp.getNextCursorMark(); counter = 0;