facet_list_field_set(o, facet_list, yaz_solr_decode_facet_field(o, node, sr), num_facets);
num_facets++;
}
- sr->facet_list = facet_list;
+ sr->facetList = facet_list;
break;
}
}
}
else
{
- /** look for result node */
+ /** look for result (required) and facets node (optional) */
+ int rc_result = -1;
+ int rc_facets = 0;
for (ptr = root->children; ptr; ptr = ptr->next)
{
if (ptr->type == XML_ELEMENT_NODE &&
!strcmp((const char *) ptr->name, "result"))
- yaz_solr_decode_result(o, ptr, sr);
+ rc_result = yaz_solr_decode_result(o, ptr, sr);
if (match_xml_node_attribute(ptr, "lst", "name", "facet_counts"))
- yaz_solr_decode_facet_counts(o, ptr, sr);
- }
- if (!ptr)
- {
- ret = -1;
+ rc_facets = yaz_solr_decode_facet_counts(o, ptr, sr);
}
+ ret = rc_result + rc_facets;
}
}
if (doc)
yaz_add_name_value_str(encode, name, value, &i,
"fl", request->recordSchema);
- if (request->facet_list) {
- Z_FacetList *facet_list = request->facet_list;
+ if (request->facetList) {
+ Z_FacetList *facet_list = request->facetList;
int limit;
Odr_int olimit;
yaz_add_name_value_str(encode, name, value, &i, "facet", "true");