/** * Convert given Query into a SolrQuery executable via {@link * org.apache.solr.client.solrj.SolrServer} * * @param query * @return */ public final SolrQuery constructSolrQuery(SolrDataQuery query) { Assert.notNull(query, "Cannot construct solrQuery from null value."); Assert.notNull(query.getCriteria(), "Query has to have a criteria."); SolrQuery solrQuery = new SolrQuery(); solrQuery.setParam(CommonParams.Q, getQueryString(query)); if (query instanceof Query) { processQueryOptions(solrQuery, (Query) query); } if (query instanceof FacetQuery) { processFacetOptions(solrQuery, (FacetQuery) query); } if (query instanceof HighlightQuery) { processHighlightOptions(solrQuery, (HighlightQuery) query); } return solrQuery; }