-/* $Id: api.h,v 1.26 2005-06-09 10:39:52 adam Exp $
+/* $Id: api.h,v 1.31 2005-12-09 11:33:32 adam Exp $
Copyright (C) 1995-2005
Index Data ApS
one handle is sufficient
*/
YAZ_EXPORT
-ZebraHandle zebra_open(ZebraService zs);
+ZebraHandle zebra_open(ZebraService zs, Res res);
/**
\brief Destroys Zebra session handle.
YAZ_EXPORT
void zebra_result(ZebraHandle zh, int *code, char **addinfo);
-/**
- \brief Clears last error.
- \param zh zebra session handle.
-*/
-YAZ_EXPORT
-void zebra_clearError(ZebraHandle zh);
-
-
/**
\brief Set limit before Zebra does approx hit count
\param zh session handle
int *statuses);
+/**
+ \brief returns number of term info terms assocaited with result set
+ \param zh session handle
+ \param setname result set name
+ \param num_terms number of terms returned in this integer
+ This function is used in conjunction with zebra_result_set_term_info.
+ If operation was successful, ZEBRA_OK is returned; otherwise
+ ZEBRA_FAIL is returned (typically non-existing setname)
+*/
YAZ_EXPORT
ZEBRA_RES zebra_result_set_term_no(ZebraHandle zh, const char *setname,
int *num_terms);
+/**
+ \brief returns information about a term assocated with a result set
+ \param zh session handle
+ \param setname result set name
+ \param no the term we want to know about (0=first, 1=second,..)
+ \param count the number of occurrences of this term, aka hits (output)
+ \param approx about hits: 0=exact,1=approx (output)
+ \param termbuf buffer for term string (intput, output)
+ \param termlen size of termbuf (input=max, output=actual length)
+ \param term_ref_id if non-NULL *term_ref_id holds term reference
+
+ Returns information about one search term associated with result set.
+ Use zebra_result_set_term_no to read total number of terms associated
+ with result set. If this function can not return information,
+ due to no out of range or bad result set name, ZEBRA_FAIL is
+ returned.
+ The passed termbuf must be able to hold at least *termlen characters.
+ Upon completion, *termlen holds actual length of search term.
+*/
YAZ_EXPORT
ZEBRA_RES zebra_result_set_term_info(ZebraHandle zh, const char *setname,
int no, zint *count, int *approx,
- char *termbuf, size_t *termlen);
+ char *termbuf, size_t *termlen,
+ const char **term_ref_id);
/**
\param num_entries number of terms requested / returned
\param entries list of resulting terms (ODR allocated)
\param is_partial upon return 1=partial, 0=complete
+ \param setname limit scan by this set (NULL means no limit)
*/
YAZ_EXPORT ZEBRA_RES zebra_scan(ZebraHandle zh, ODR stream,
Z_AttributesPlusTerm *zapt,
oid_value attributeset,
int *position, int *num_entries,
ZebraScanEntry **entries,
- int *is_partial);
+ int *is_partial,
+ const char *setname);
/**
\brief performs Scan (taking PQF string)
\param num_entries number of terms requested / returned
\param entries list of resulting terms (ODR allocated)
\param is_partial upon return 1=partial, 0=complete
+ \param setname limit scan by this set (NULL means no limit)
*/
YAZ_EXPORT
ZEBRA_RES zebra_scan_PQF(ZebraHandle zh, ODR stream, const char *query,
int *position, int *num_entries, ZebraScanEntry **entries,
- int *is_partial);
+ int *is_partial, const char *setname);
/**
\brief authenticate user. Returns 0 if OK, != 0 on failure
int force_update);
YAZ_EXPORT
-int zebra_resultSetTerms(ZebraHandle zh, const char *setname,
- int no, zint *count,
- int *type, char *out, size_t *len);
-
-YAZ_EXPORT
ZEBRA_RES zebra_sort(ZebraHandle zh, ODR stream,
int num_input_setnames,
const char **input_setnames,
* \section intro_sec Introduction
*
* Zebra is a search engine for structure data, such as XML, MARC
- * and others. The following chapters briefly describe each of
+ * and others.
+ *
+ * API users should read the api.h for all the public definitions.
+ *
+ * The remaining sections briefly describe each of
* Zebra major modules/components.
*
* \section util Base Utilities