03-19-2012 08:43 AM
SearchParameters mysp = searchParameters.copy();
….
String fadetField="my:experienceTag";
FieldFacet fieldFacet = new FieldFacet(fadetField);
mysp.addFieldFacet(fieldFacet );
No other parameter is changed to the copy of a standard query coming from the advanced search interface. The query itself looks like:
"query":"((TYPE:\"my:experience\" AND (my:experienceTag:\"applications\")) AND -TYPE:\"cm:thumbnail\" AND -TYPE:\"cm:failedThumbnail\" AND -TYPE:\"cm:rating\") AND NOT ASPECT:\"sys:hidden\""
and return six documents. However I was unable to retrieve facets, which is always empty. The request entity before for the POST method is:
/solr/alfresco/afts?q=%28%28TYPE%3A%22my%3Aexperience%22+AND+%28my%3AexperienceTag%3A%22applications%22%29%29+AND+-TYPE%3A%22cm%3Athumbnail%22+AND+-TYPE%3A%22cm%3AfailedThumbnail%22+AND+-TYPE%3A%22cm%3Arating%22%29+AND+NOT+ASPECT%3A%22sys%3Ahidden%22&wt=json&fl=*%2Cscore&rows=502&df=keywords&start=0&locale=en_US&fq=%7B%21afts%7DAUTHORITY_FILTER_FROM_JSON&fq=%7B%21afts%7DTENANT_FILTER_FROM_JSON&facet=true&facet.field=my%3AexperienceTag&f.my%3AexperienceTag.facet.limit=100
{"response":{"start":0,"docs":[{"INTXID":["1046"],"score":10.928302,"ID":["LEAF-3266"],"ASPECT":["{http://www.alfresco.org/model/system/1.0}localized','{http://www.alfresco.org/model/content/1.0}audi...":[]}}}
Any idea on that? Anybody ever used facets from the search service successfully?03-19-2012 10:15 AM
"@{http://www.alfresco.org/model/content/1.0}content"and eventually a special solr index field like"@{http://www.alfresco.org/model/content/1.0}content.__"cheers, jan
03-19-2012 11:30 AM
06-22-2013 06:44 AM
03-19-2012 05:14 PM
04-03-2012 03:19 AM
04-03-2012 07:15 AM
05-16-2012 09:28 AM
05-16-2012 02:41 PM
07-18-2012 11:12 PM
//Add facet field
String facetField = "@{http://www.alfresco.org/model/content/1.0}originalSource";
FieldFacet fieldFacet = new FieldFacet(facetField);
sp.addFieldFacet(fieldFacet); // sp is my SearchParameter
//Start search
results = this.services.getSearchService().query(sp);
//Try to retrieve facets
List<Pair<String, Integer>> facets = results.getFieldFacet(facetField + ".__");// I used this Special Field
for (Pair<String, Integer> facet : facets) {
logger.debug("===Facet===" + facet.getFirst() + ":" + facet.getSecond());
}
Tags
Find what you came for
We want to make your experience in Hyland Connect as valuable as possible, so we put together some helpful links.