List of usage examples for org.apache.solr.client.solrj SolrQuery setRows
public SolrQuery setRows(Integer rows)
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); }