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:datacite.oai.provider.service.MDSSearchServiceSolrImpl.java

License:Open Source License

@Override
public Pair<List<SetRecordBean>, Integer> getSets() throws ServiceException {
    SolrQuery query = new SolrQuery();
    query.setQuery("*:*");
    query.setRows(0);
    query.setFacet(true);//from  w  w  w  .  j  av a2  s  . c  om
    query.setFacetLimit(-1);
    query.addFacetField("allocator_facet", "datacentre_facet");

    try {
        QueryResponse response = solrServer.query(query);

        SortedSet<String> facetValues = new TreeSet<String>();
        for (FacetField facet : response.getFacetFields()) {
            for (Count count : facet.getValues()) {
                facetValues.add(count.getName());
            }
        }

        ArrayList<SetRecordBean> sets = new ArrayList<SetRecordBean>();
        for (String facetValue : facetValues) {
            String[] parts = facetValue.split(" - ", 2);
            String symbol = parts[0];
            String name = parts[1];
            sets.add(new SetRecordBean(symbol, name));
        }

        return new Pair<List<SetRecordBean>, Integer>(sets, sets.size());

    } catch (Exception e) {
        throw new ServiceException(e);
    }

}

From source file:ddf.catalog.source.solr.SolrCatalogProvider.java

License:Open Source License

@Override
public DeleteResponse delete(DeleteRequest deleteRequest) throws IngestException {
    if (deleteRequest == null) {
        throw new IngestException(REQUEST_MUST_NOT_BE_NULL_MESSAGE);
    }/*from   w  w w  .j  a v a 2  s .  co m*/

    List<Metacard> deletedMetacards = new ArrayList<>();

    String attributeName = deleteRequest.getAttributeName();
    if (StringUtils.isBlank(attributeName)) {
        throw new IngestException("Attribute name cannot be empty. Please provide the name of the attribute.");
    }

    @SuppressWarnings("unchecked")
    List<? extends Serializable> identifiers = deleteRequest.getAttributeValues();

    if (identifiers == null || identifiers.size() == 0) {
        return new DeleteResponseImpl(deleteRequest, null, deletedMetacards);
    }

    /* 1. Query first for the records */
    String fieldName = attributeName + SchemaFields.TEXT_SUFFIX;
    SolrQuery query = new SolrQuery(client.getIdentifierQuery(fieldName, identifiers));
    query.setRows(identifiers.size());

    QueryResponse solrResponse;
    try {
        solrResponse = server.query(query, METHOD.POST);
    } catch (SolrServerException e) {
        LOGGER.info("SOLR server exception deleting request message", e);
        throw new IngestException(COULD_NOT_COMPLETE_DELETE_REQUEST_MESSAGE);
    }

    SolrDocumentList docs = solrResponse.getResults();

    for (SolrDocument doc : docs) {
        if (LOGGER.isDebugEnabled()) {
            LOGGER.debug("SOLR DOC: {}", doc.getFieldValue(Metacard.ID + SchemaFields.TEXT_SUFFIX));
        }

        try {
            deletedMetacards.add(client.createMetacard(doc));
        } catch (MetacardCreationException e) {
            LOGGER.info("Metacard creation exception creating metacards during delete", e);
            throw new IngestException("Could not create metacard(s).");
        }

    }

    /* 2. Delete */
    try {
        // the assumption is if something was deleted, it should be gone
        // right away, such as expired data, etc.
        // so we force the commit
        client.deleteByIds(fieldName, identifiers, true);
    } catch (SolrServerException | IOException e) {
        throw new IngestException(COULD_NOT_COMPLETE_DELETE_REQUEST_MESSAGE);
    }

    return new DeleteResponseImpl(deleteRequest, null, deletedMetacards);
}

From source file:ddf.catalog.source.solr.SolrMetacardClient.java

License:Open Source License

protected SolrQuery getSolrQuery(QueryRequest request, SolrFilterDelegate solrFilterDelegate)
        throws UnsupportedQueryException {
    solrFilterDelegate.setSortPolicy(request.getQuery().getSortBy());
    SolrQuery query = filterAdapter.adapt(request.getQuery(), solrFilterDelegate);

    // Solr does not support outside parenthesis in certain queries and throws EOF exception.
    String queryPhrase = query.getQuery().trim();
    if (queryPhrase.matches("\\(\\s*\\{!.*\\)")) {
        query.setQuery(queryPhrase.replaceAll("^\\(\\s*|\\s*\\)$", ""));
    }/*from   ww  w .  j a v  a  2 s.com*/

    if (LOGGER.isDebugEnabled()) {
        LOGGER.debug("Prepared Query: {}", query.getQuery());
        if (query.getFilterQueries() != null && query.getFilterQueries().length > 0) {
            LOGGER.debug("Filter Queries: {}", Arrays.toString(query.getFilterQueries()));
        }
    }

    if (request.getQuery().getPageSize() < 1) {
        query.setRows(Integer.MAX_VALUE);
    } else {
        query.setRows(request.getQuery().getPageSize());
    }

    /* Start Index */
    if (request.getQuery().getStartIndex() < 1) {
        throw new UnsupportedQueryException("Start index must be greater than 0");
    }

    // Solr is 0-based
    query.setStart(request.getQuery().getStartIndex() - 1);

    return query;
}

From source file:ddf.catalog.source.solr.SolrMetacardClientImpl.java

License:Open Source License

protected SolrQuery postAdapt(QueryRequest request, SolrFilterDelegate filterDelegate, SolrQuery query)
        throws UnsupportedQueryException {
    if (LOGGER.isDebugEnabled()) {
        LOGGER.debug("Prepared Query: {}", query.getQuery());
        if (query.getFilterQueries() != null && query.getFilterQueries().length > 0) {
            LOGGER.debug("Filter Queries: {}", Arrays.toString(query.getFilterQueries()));
        }//  w ww. j  a v  a  2s .  com
    }

    if (request.getQuery().getPageSize() < 1) {
        //TODO: Needs to pass in something else.
        query.setRows(Integer.MAX_VALUE);
    } else {
        query.setRows(request.getQuery().getPageSize());
    }

    /* Start Index */
    if (request.getQuery().getStartIndex() < 1) {
        throw new UnsupportedQueryException("Start index must be greater than 0");
    }

    // Solr is 0-based
    query.setStart(request.getQuery().getStartIndex() - 1);

    setSortProperty(request, query, filterDelegate);

    return query;
}

From source file:de.dlr.knowledgefinder.webapp.webservice.solr.query.AbstractSolrQueryFactory.java

License:Apache License

private void setRowsForSolrQuery(SolrQuery solrQuery, String rows) {
    try {//from  ww  w  . j  av  a2  s.  c o  m
        int rowsInt = Integer.parseInt(rows);
        if (rowsInt >= 0) {
            solrQuery.setRows(rowsInt);
        }
    } catch (NumberFormatException e) {
    }
}

From source file:de.fatalix.book.importer.SolrHandler.java

License:Open Source License

public static QueryResponse searchSolrIndex(SolrServer solr, String queryString, int rows, int startOffset)
        throws SolrServerException {
    SolrQuery query = new SolrQuery();
    query.setQuery(queryString);//w  w  w  .j  a  v  a  2 s . c o m

    query.setRows(rows);
    query.setStart(startOffset);
    QueryResponse rsp = solr.query(query);
    return rsp;
}

From source file:de.fatalix.bookery.bl.solr.SolrHandler.java

License:Open Source License

public QueryResponse searchSolrIndex(String queryString, String fields, int rows, int startOffset)
        throws SolrServerException {
    SolrServer solr = null;/*from  w w  w  . j  a va2s . com*/
    try {
        solr = bookeryService.getSolrConnection();
    } catch (IOException ex) {
        throw new SolrServerException(ex.getMessage());
    }
    SolrQuery query = new SolrQuery();
    query.setQuery(queryString);
    query.setRows(rows);
    query.setStart(startOffset);

    query.setFields(fields);
    QueryResponse rsp = solr.query(query);
    return rsp;
}

From source file:de.fatalix.bookery.bl.solr.SolrHandler.java

License:Open Source License

public QueryResponse searchSolrIndexSorted(String queryString, String fields, int rows, int startOffset,
        String sortField) throws SolrServerException {
    SolrServer solr = null;/*from  ww w .  j a v  a  2s.  c  om*/
    try {
        solr = bookeryService.getSolrConnection();
    } catch (IOException ex) {
        throw new SolrServerException(ex.getMessage());
    }
    SolrQuery query = new SolrQuery();
    query.setQuery(queryString);
    query.setRows(rows);
    query.setStart(startOffset);
    query.setSort(sortField, SolrQuery.ORDER.desc);
    query.setFields(fields);
    QueryResponse rsp = solr.query(query);
    return rsp;
}

From source file:de.fatalix.bookery.bl.solr.SolrHandler.java

License:Open Source License

public List<BookEntry> getBookDetail(String bookID) throws SolrServerException {
    SolrServer solr = null;// w w  w.  ja  va  2 s  .  c  o m
    try {
        solr = bookeryService.getSolrConnection();
    } catch (IOException ex) {
        throw new SolrServerException(ex.getMessage());
    }
    SolrQuery query = new SolrQuery();
    query.setQuery("id:" + bookID);
    query.setRows(1);
    query.setFields(
            "id,author,title,isbn,publisher,description,language,releaseDate,likes,downloadcount,uploader,viewed,shared,cover,thumbnail,thumbnailgenerated,likedby");
    QueryResponse rsp = solr.query(query);
    return rsp.getBeans(BookEntry.class);
}

From source file:de.fatalix.bookery.bl.solr.SolrHandler.java

License:Open Source License

public List<BookEntry> getEpubBook(String bookID) throws SolrServerException {
    SolrServer solr = null;/*  w  w w .j a  va2 s  .  c  o  m*/
    try {
        solr = bookeryService.getSolrConnection();
    } catch (IOException ex) {
        throw new SolrServerException(ex.getMessage());
    }
    SolrQuery query = new SolrQuery();
    query.setQuery("id:" + bookID);
    query.setRows(1);
    query.setFields("id,epub");
    QueryResponse rsp = solr.query(query);
    return rsp.getBeans(BookEntry.class);
}