@Override public int hashCode() { int result = indices != null ? indices.hashCode() : 0; result = 31 * result + (query != null ? query.hashCode() : 0); result = 31 * result + getSize(); result = 31 * result + getFrom(); result = 31 * result + (sort != null ? sort.hashCode() : 0); result = 31 * result + (fields != null ? fields.hashCode() : 0); result = 31 * result + (facetFields != null ? facetFields.hashCode() : 0); return result; } }
List<SearchResult> finalResp = new ArrayList<>(); int maxSize = config.getMaxSearchResults() == null?searchRequest.getSize():config.getMaxSearchResults(); for(int i = searchRequest.getFrom();i < response.size()&& finalResp.size() <= maxSize;++i) { finalResp.add(response.get(i));
protected SolrQuery buildSearchRequest( SearchRequest searchRequest, String fieldList) throws IOException, SolrServerException { SolrQuery query = new SolrQuery() .setStart(searchRequest.getFrom()) .setRows(searchRequest.getSize()) .setQuery(searchRequest.getQuery()); // handle sort fields for (SortField sortField : searchRequest.getSort()) { query.addSort(sortField.getField(), getSolrSortOrder(sortField.getSortOrder())); } // handle search fields List<String> fields = searchRequest.getFields(); if (fieldList == null) { fieldList = "*"; if (fields != null) { fieldList = StringUtils.join(fields, ","); } } query.set("fl", fieldList); //handle facet fields List<String> facetFields = searchRequest.getFacetFields(); if (facetFields != null) { facetFields.forEach(query::addFacetField); } query.set("collection", getCollections(searchRequest.getIndices())); return query; }
.from(searchRequest.getFrom()) .query(queryBuilder) .trackScores(true);