private QueryResponse query(SolrQuery query, int offset, int maxRows) throws ServiceException { query.set(CommonParams.START, offset) .set(CommonParams.ROWS, maxRows) .set(CommonParams.WT, solrClient.getParser().getWriterType()); try { Instant start = Instant.now(); QueryResponse queryResponse = solrClient.query(query); LOG.info("Responded in {}ms for query {}", new Duration(start, Instant.now()).getMillis(), query.getQuery()); return queryResponse; } catch (SolrServerException | IOException e) { StringBuilder sb = new StringBuilder() .append(e.getMessage()) .append(" for generated query: ") .append(query.getQuery()); throw new ServiceException(sb.toString(), e); } }