X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;ds=sidebyside;f=doc%2Fzoom.xml;h=7d043d2e1bbdfe58786d80437d4ef8906d103bde;hb=f18e872c965a03818293cc914fdf30e1ec8f5f65;hp=9c32a1535b0b5fe09868faef554f829727884504;hpb=b11da5f84991a07de9caf4ab52478e0e5a1028e0;p=yaz-moved-to-github.git
diff --git a/doc/zoom.xml b/doc/zoom.xml
index 9c32a15..7d043d2 100644
--- a/doc/zoom.xml
+++ b/doc/zoom.xml
@@ -884,6 +884,58 @@ ZOOM_query_cql2rpn(ZOOM_query s, const char *str, ZOOM_connection conn)
+ Facets
+
+ In case the target can and is requested to return facets, using a result set the ZOOM client
+ can request one or all facet fields. Using a facet field the client can request the term count and
+ then interate over the terms.
+
+
+ ZOOM_facet_field *ZOOM_resultset_facets(ZOOM_resultset r);
+ const char ** ZOOM_resultset_facets_names(ZOOM_resultset r);
+ ZOOM_facet_field ZOOM_resultset_get_facet_field(ZOOM_resultset r, const char *facet_name);
+ ZOOM_facet_field ZOOM_resultset_get_facet_field_by_index(ZOOM_resultset r, int pos);
+ size_t ZOOM_resultset_facets_size(ZOOM_resultset r);
+
+ const char *ZOOM_facet_field_name(ZOOM_facet_field facet_field);
+ size_t ZOOM_facet_field_term_count(ZOOM_facet_field facet_field);
+ const char *ZOOM_facet_field_get_term(ZOOM_facet_field facet_field, size_t idx, int *freq);
+
+
+ References to temporary structures are returned by all functions. They are only valid as long the Result set is valid.
+ ZOOM_resultset_get_facet_field or
+ ZOOM_resultset_get_facet_field_by_index.
+ ZOOM_resultset_facets.
+ ZOOM_resultset_facets_names.
+ ZOOM_facet_field_name.
+ ZOOM_facet_field_get_term.
+
+
+ A single Facet field is returned by function
+ ZOOM_resultset_get_facet_field or ZOOM_resultset_get_facet_field_by_index that takes a
+ result set and facet name or positive index respectively. First facet has position zero.
+ If no facet could be obtained (invalid name or index out of bounds) NULL is returned.
+
+
+ An array of facets field can be returned by ZOOM_resultset_facets. The length of the array is
+ given by ZOOM_resultset_facets_size. The array is zero-based and last entry will be at
+ ZOOM_resultset_facets_size(result_set)-1.
+
+
+ It is possible to interate over facets by name, by calling ZOOM_resultset_facets_names.
+ This will return an const array of char * where each string can be used as parameter for
+ ZOOM_resultset_get_facet_field.
+
+
+ Function ZOOM_facet_field_name gets the request facet name from a returned facet field.
+
+
+ Function ZOOM_facet_field_get_term returns the idx'th term and term count for a facet field.
+ Idx must between 0 and ZOOM_facet_field_term_count-1, otherwise the returned reference will be
+ NULL. On a valid idx, the value of the freq reference will be the term count.
+ The *freq parameter must be valid pointer to integer.
+
+
Scan
This section describes an interface for Scan. Scan is not an