Fix for ACE-2004 SOLR 4 - Support filtering of query results

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@111060 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
Andrew Hind
2015-08-27 20:35:23 +00:00
parent 271ce04935
commit 2c250be45b
2 changed files with 15 additions and 0 deletions

View File

@@ -578,6 +578,7 @@ public class Search extends BaseScopableProcessorExtension implements Initializi
List<Map<Serializable, Serializable>> sort = (List<Map<Serializable, Serializable>>)def.get("sort");
Map<Serializable, Serializable> page = (Map<Serializable, Serializable>)def.get("page");
List<String> facets = (List<String>)def.get("fieldFacets");
List<String> filterQueries = (List<String>)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;

View File

@@ -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();