solrQuery.setQuery("type:" + connection);
solrQuery.addFacetField(FACET);
solrQuery.setFacetLimit(Integer.MAX_VALUE);
solrQuery.setFacetMinCount(1);
solrQuery.setRows(0);
QueryResponse rsp = service.search(solrQuery);
FacetField facets = rsp.getFacetField(FACET);
// for each interests get authority's authors
List<VisualizationGraphNode> result = null;
int counter = 0;
external: for (Count facetElement : facets.getValues())
{
counter++;
log.debug("" + counter + " of " + facets.getValueCount());
result = new LinkedList<VisualizationGraphNode>();
try
{
String facetValue = facetElement.getName();
String[] splittedFacetValue = facetValue.split("\\|\\|\\|");
if (!splittedFacetValue[0].equals("null") && splittedFacetValue[0].equals(splittedFacetValue[1]))
{
SolrQuery solrQuery2 = new SolrQuery();
solrQuery2.setQuery("type:" + connection + " AND "
+ FACET + ":\"" + ClientUtils.escapeQueryChars(facetValue) + "\" AND a_auth:[* TO *] AND b_auth:[* TO *]");
solrQuery2.addFacetField(FACET_AUTHOR);
solrQuery2.setFacetMinCount(1);
solrQuery2.setFacetLimit(Integer.MAX_VALUE);
solrQuery2.setRows(0);
QueryResponse rsp2 = service.search(
solrQuery2);
FacetField relations = rsp2.getFacetField(FACET_AUTHOR);
int i = 0;
internal: for (Count relation : relations.getValues())
{
log.debug("" + counter + " works on " + i + " of "
+ relations.getValueCount());