Query objects represents queries.
ZOOM_query ZOOM_query_create(void); void ZOOM_query_destroy(ZOOM_query q); int ZOOM_query_prefix(ZOOM_query q, const char *str); 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
and destroy them by calling ZOOM_query_destroy
.
RPN-queries can be specified in PQF
notation by using the
function ZOOM_query_prefix
.
The ZOOM_query_cql
specifies a CQL
query to be sent to the server/target.
More query types will be added in future versions of YAZ, such as
CCL to RPN-mapping, native CCL query,
etc. In addition to a search, a sort criteria may be set. Function
ZOOM_query_sortby
enables Z39.50 sorting and
it takes sort criteria using the same string notation as
yaz-client's sort command.
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).
Table 3.2. ZOOM sort strategy
Name | Description |
---|---|
z39.50 | Z39.50 resultset sort |
type7 | Sorting embedded in RPN(Type-7) |
cql | CQL SORTBY |
sru11 | SRU sortKeys parameter |
solr | Solr sort |
embed | type7 for Z39.50, cql for SRU, solr for Solr protocol |