X-Git-Url: http://git.indexdata.com/?p=yaz-moved-to-github.git;a=blobdiff_plain;f=doc%2Fzoom.xml;h=2ae3e08cb4737435865e38373dbeb6e3b29b1853;hp=63c1c1db44c9698bdf5d36b649db2112eef296dc;hb=7376ec7d3d905accea9593f80da3c11b650e743b;hpb=a0b43ae242eb940fb511c1d91742e61e442ca191 diff --git a/doc/zoom.xml b/doc/zoom.xml index 63c1c1d..2ae3e08 100644 --- a/doc/zoom.xml +++ b/doc/zoom.xml @@ -5,6 +5,7 @@ ZOOM_connection_errmsg(c) ZOOM_connection_addinfo(c) ZOOM_connection_addinfo(c) ZOOM_connection_diagset(c); +ZOOM_connection_save_apdu_wrbuf ZOOM_diag_str(error) ZOOM_resultset_record_immediate(s, pos) ZOOM_resultset_cache_reset(r) @@ -17,7 +18,6 @@ ZOOM_options_setl(opt, name, value, len) ZOOM_options_get_bool(opt, name, defa) ZOOM_options_get_int(opt, name, defa) ZOOM_options_set_int(opt, name, value) -ZOOM_connection_scan1(ZOOM_connection c, ZOOM_query startterm) ZOOM_query_cql2rpn(ZOOM_query s, const char *str, ZOOM_connection conn) --> ZOOM @@ -45,8 +45,9 @@ ZOOM_query_cql2rpn(ZOOM_query s, const char *str, ZOOM_connection conn) sru=get,http://sru.miketaylor.org.uk:80/sru.pl - SOLR protocol support was added to YAZ in version 4.1.0, - as a dialect of a SRU protocol, since both are HTTP based protocols. + SOLR protocol support was added to + YAZ in version 4.1.0, as a dialect of a SRU protocol, since both are + HTTP based protocols. The lack of a simple Z39.50 client API for &yaz; has become more @@ -92,9 +93,9 @@ ZOOM_query_cql2rpn(ZOOM_query s, const char *str, ZOOM_connection conn) #include <yaz/zoom.h> - ZOOM_connection ZOOM_connection_new (const char *host, int portnum); + ZOOM_connection ZOOM_connection_new(const char *host, int portnum); - ZOOM_connection ZOOM_connection_create (ZOOM_options options); + ZOOM_connection ZOOM_connection_create(ZOOM_options options); void ZOOM_connection_connect(ZOOM_connection c, const char *host, int portnum); @@ -421,6 +422,9 @@ ZOOM_query_cql2rpn(ZOOM_query s, const char *str, ZOOM_connection conn) int ZOOM_query_cql(ZOOM_query s, const char *str); int ZOOM_query_sortby(ZOOM_query q, const char *criteria); + + int ZOOM_query_sortby2(ZOOM_query q, const char *strategy, + const char *criteria); Create query objects using ZOOM_query_create @@ -437,13 +441,51 @@ ZOOM_query_cql2rpn(ZOOM_query s, const char *str, ZOOM_connection conn) sort criteria using the same string notation for sort as offered by the YAZ client. - Protocol behavior - - The query object is just an interface for the member Query - in the SearchRequest. The sortby-function is an interface to the - sortSequence member of the SortRequest. - - + + ZOOM_query_sortby2 is similar to + ZOOM_query_sortby but allows a strategy for + sorting. The reason for the strategy parameter is that some + protocols offers multiple ways of performing sorting. + For example, Z39.50 has the standard sort, which is performed after + search on an existing result set. + It's also possible to use CQL in Z39.50 as the query type and use + CQL's SORTBY keyword. Finally, Index Data's + Zebra server also allows sorting to be specified as part of RPN (Type 7). + + + ZOOM sort strategy + + + + + + Name + Description + + + + + z39.50Z39.50 resultset sort + + + type7Sorting embedded in RPN(Type-7) + + + cqlCQL SORTBY + + + sru11SRU sortKeys element + + + solrSolr sort + + + embedtype7 for Z39.50, cql for SRU, + solr for Solr protocol + + + +
Result sets @@ -928,25 +970,37 @@ ZOOM_query_cql2rpn(ZOOM_query s, const char *str, ZOOM_connection conn) Facets - Facets operations is not part of the official ZOOM specification, but is an Index Data extension - for YAZ-based Z39.50 targets or SOLR targets. - 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. + Facets operations is not part of the official ZOOM specification, but + is an Index Data extension for YAZ-based Z39.50 targets or + SOLR targets. + 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); + + 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); + + 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. + 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. @@ -956,28 +1010,37 @@ ZOOM_query_cql2rpn(ZOOM_query s, const char *str, ZOOM_connection conn) 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. + 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 + 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. + 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_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. + 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