diff --git a/source/java/org/alfresco/repo/jscript/Search.java b/source/java/org/alfresco/repo/jscript/Search.java index b69e11e9dc..dd57f4f585 100644 --- a/source/java/org/alfresco/repo/jscript/Search.java +++ b/source/java/org/alfresco/repo/jscript/Search.java @@ -578,6 +578,7 @@ public class Search extends BaseScopableProcessorExtension implements Initializi List> sort = (List>)def.get("sort"); Map page = (Map)def.get("page"); List facets = (List)def.get("fieldFacets"); + List filterQueries = (List)def.get("filterQueries"); String namespace = (String)def.get("namespace"); String onerror = (String)def.get("onerror"); String defaultField = (String)def.get("defaultField"); @@ -739,6 +740,13 @@ public class Search extends BaseScopableProcessorExtension implements Initializi } } } + if (filterQueries != null) + { + for (String filter: filterQueries) + { + sp.addFilterQuery(filter); + } + } // error handling opions boolean exceptionOnError = true; 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 f9fab97b90..29fc753cf2 100644 --- a/source/java/org/alfresco/repo/search/impl/solr/SolrQueryHTTPClient.java +++ b/source/java/org/alfresco/repo/search/impl/solr/SolrQueryHTTPClient.java @@ -490,6 +490,13 @@ public class SolrQueryHTTPClient implements BeanFactoryAware url.append("&facet.query=").append(encoder.encode("{!afts}"+facetQuery, "UTF-8")); } } + // filter queries + + for(String filterQuery : searchParameters.getFilterQueries()) + { + url.append("&fq=").append(encoder.encode("{!afts}"+filterQuery, "UTF-8")); + } + // end of field facets final String searchTerm = searchParameters.getSearchTerm();