projects
/
yaz-moved-to-github.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
07127dd
)
Work-around for bogus SOLR facets when zero hits
author
Dennis Schafroth
<dennis@indexdata.com>
Thu, 9 Sep 2010 14:15:10 +0000
(16:15 +0200)
committer
Dennis Schafroth
<dennis@indexdata.com>
Thu, 9 Sep 2010 14:15:10 +0000
(16:15 +0200)
src/solr.c
patch
|
blob
|
history
diff --git
a/src/solr.c
b/src/solr.c
index
0a5ca40
..
4ce820c
100644
(file)
--- 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 (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;
rc_facets = yaz_solr_decode_facet_counts(o, ptr, sr);
}
ret = rc_result + rc_facets;