/** * The contents of this file are subject to the license and copyright * detailed in the LICENSE and NOTICE files at the root of the source * tree and available online at * * http://www.dspace.org/license/ */ package org.dspace.xoai.solr; import org.apache.solr.client.solrj.SolrQuery; import org.apache.solr.client.solrj.SolrQuery.ORDER; import org.apache.solr.client.solrj.SolrServer; import org.apache.solr.client.solrj.SolrServerException; import org.apache.solr.client.solrj.response.QueryResponse; import org.apache.solr.common.SolrDocument; import org.apache.solr.common.SolrDocumentList; import org.dspace.xoai.solr.exceptions.DSpaceSolrException; import org.dspace.xoai.solr.exceptions.SolrSearchEmptyException; /** * * @author Lyncode Development Team (dspace at lyncode dot com) */ public class DSpaceSolrSearch { public static SolrDocumentList query(SolrServer server, SolrQuery solrParams) throws DSpaceSolrException { try { solrParams.addSortField("item.id", ORDER.asc); QueryResponse response = server.query(solrParams); return response.getResults(); } catch (SolrServerException ex) { throw new DSpaceSolrException(ex.getMessage(), ex); } } public static SolrDocument querySingle(SolrServer server, SolrQuery solrParams) throws SolrSearchEmptyException { try { solrParams.addSortField("item.id", ORDER.asc); QueryResponse response = server.query(solrParams); if (response.getResults().getNumFound() > 0) return response.getResults().get(0); else throw new SolrSearchEmptyException(); } catch (SolrServerException ex) { throw new SolrSearchEmptyException(ex.getMessage(), ex); } } }