From 03253a9ef705cd30deb32f68f3d310cef407b1a7 Mon Sep 17 00:00:00 2001 From: Dennis Schafroth Date: Thu, 9 Sep 2010 16:15:10 +0200 Subject: [PATCH] Work-around for bogus SOLR facets when zero hits --- src/solr.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) 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; -- 1.7.10.4