From: Dennis Schafroth Date: Thu, 9 Sep 2010 14:15:10 +0000 (+0200) Subject: Work-around for bogus SOLR facets when zero hits X-Git-Tag: v4.1.4~18 X-Git-Url: http://git.indexdata.com/?p=yaz-moved-to-github.git;a=commitdiff_plain;h=03253a9ef705cd30deb32f68f3d310cef407b1a7 Work-around for bogus SOLR facets when zero hits --- diff --git a/src/solr.c b/src/solr.c index 0a5ca40..4ce820c 100644 --- a/src/solr.c +++ b/src/solr.c @@ -255,7 +255,9 @@ int yaz_solr_decode_response(ODR o, Z_HTTP_Response *hres, Z_SRW_PDU **pdup) if (ptr->type == XML_ELEMENT_NODE && !strcmp((const char *) ptr->name, "result")) rc_result = yaz_solr_decode_result(o, ptr, sr); - if (match_xml_node_attribute(ptr, "lst", "name", "facet_counts")) + /* TODO The check on hits is a work-around to avoid garbled facets on zero results from the SOLR server. + * The work-around works because the results is before the facets in the xml. */ + if (rc_result == 0 && match_xml_node_attribute(ptr, "lst", "name", "facet_counts")) rc_facets = yaz_solr_decode_facet_counts(o, ptr, sr); } ret = rc_result + rc_facets;