projects
/
yaz-moved-to-github.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
re-impl. status check
[yaz-moved-to-github.git]
/
src
/
solr.c
diff --git
a/src/solr.c
b/src/solr.c
index
d4f63ca
..
7a13940
100644
(file)
--- a/
src/solr.c
+++ b/
src/solr.c
@@
-162,7
+162,7
@@
static void yaz_solr_decode_facet_counts(ODR o, xmlNodePtr root, Z_SRW_searchRet
facet_list_field_set(o, facet_list, yaz_solr_decode_facet_field(o, node, sr), num_facets);
num_facets++;
}
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;
}
}
break;
}
}
@@
-202,19
+202,18
@@
int yaz_solr_decode_response(ODR o, Z_HTTP_Response *hres, Z_SRW_PDU **pdup)
}
else
{
}
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"))
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"))
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)
}
}
if (doc)
@@
-294,8
+293,8
@@
int yaz_solr_encode_request(Z_HTTP_Request *hreq, Z_SRW_PDU *srw_pdu,
yaz_add_name_value_str(encode, name, value, &i,
"fl", request->recordSchema);
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");
int limit;
Odr_int olimit;
yaz_add_name_value_str(encode, name, value, &i, "facet", "true");