Example usage for org.apache.solr.client.solrj SolrQuery setRows

List of usage examples for org.apache.solr.client.solrj SolrQuery setRows

Introduction

In this page you can find the example usage for org.apache.solr.client.solrj SolrQuery setRows.

Prototype

public SolrQuery setRows(Integer rows) 

Source Link

Usage

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;
}