From 052d824a9e7b31ec1ccdada03a78629705b9d6e7 Mon Sep 17 00:00:00 2001 From: Andrew Hind Date: Mon, 10 Oct 2011 13:39:22 +0000 Subject: [PATCH] Fix for ALF-10627 SOLR: search.query() no longer honours page.maxItems parameter git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@31084 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- .../repo/search/impl/solr/SolrQueryHTTPClient.java | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/source/java/org/alfresco/repo/search/impl/solr/SolrQueryHTTPClient.java b/source/java/org/alfresco/repo/search/impl/solr/SolrQueryHTTPClient.java index 1d807e1aab..eea6369126 100644 --- a/source/java/org/alfresco/repo/search/impl/solr/SolrQueryHTTPClient.java +++ b/source/java/org/alfresco/repo/search/impl/solr/SolrQueryHTTPClient.java @@ -34,6 +34,7 @@ import org.alfresco.repo.domain.node.NodeDAO; import org.alfresco.repo.search.impl.lucene.LuceneQueryParserException; import org.alfresco.repo.search.impl.lucene.SolrJSONResultSet; import org.alfresco.service.cmr.repository.datatype.DefaultTypeConverter; +import org.alfresco.service.cmr.search.LimitBy; import org.alfresco.service.cmr.search.ResultSet; import org.alfresco.service.cmr.search.SearchParameters; import org.alfresco.service.cmr.search.SearchParameters.FieldFacet; @@ -156,14 +157,20 @@ public class SolrQueryHTTPClient url.append(encoder.encode(searchParameters.getQuery(), "UTF-8")); url.append("&wt=").append(encoder.encode("json", "UTF-8")); url.append("&fl=").append(encoder.encode("*,score", "UTF-8")); - if (searchParameters.getMaxItems() > 0) + + if (searchParameters.getMaxItems() >= 0) { url.append("&rows=").append(encoder.encode("" + searchParameters.getMaxItems(), "UTF-8")); } + else if(searchParameters.getLimitBy() == LimitBy.FINAL_SIZE) + { + url.append("&rows=").append(encoder.encode("" + searchParameters.getLimit(), "UTF-8")); + } else { url.append("&rows=").append(encoder.encode("" + Integer.MAX_VALUE, "UTF-8")); } + url.append("&df=").append(encoder.encode(searchParameters.getDefaultFieldName(), "UTF-8")); url.append("&start=").append(encoder.encode("" + searchParameters.getSkipCount(), "UTF-8"));