+int zebraExplain_ord_get_occurrences(ZebraExplainInfo zei, int ord,
+ zint *term_occurrences,
+ zint *doc_occurrences)
+{
+ struct zebSUInfoB *zsui = zebraExplain_get_sui_info(zei, ord, 0, 0);
+ if (zsui)
+ {
+ *term_occurrences = zsui->info.term_occurrences;
+ *doc_occurrences = zsui->info.doc_occurrences;
+ return 0;
+ }
+ return -1;
+}
+
+zint zebraExplain_ord_get_doc_occurrences(ZebraExplainInfo zei, int ord)
+{
+ struct zebSUInfoB *zsui = zebraExplain_get_sui_info(zei, ord, 0, 0);
+ if (zsui)
+ return zsui->info.doc_occurrences;
+ return 0;
+}
+
+zint zebraExplain_ord_get_term_occurrences(ZebraExplainInfo zei, int ord)
+{
+ struct zebSUInfoB *zsui = zebraExplain_get_sui_info(zei, ord, 0, 0);
+ if (zsui)
+ return zsui->info.term_occurrences;
+ return 0;
+}
+
+int zebraExplain_lookup_ord(ZebraExplainInfo zei, int ord,
+ int *index_type,
+ const char **db,
+ int *set, int *use,
+ const char **string_index)
+{
+ struct zebSUInfoB *zsui;
+
+ if (set)
+ *set = -1;
+ if (use)
+ *use = -1;
+ if (index_type)
+ *index_type = 0;
+ if (string_index)
+ *string_index = 0;
+
+ zsui = zebraExplain_get_sui_info(zei, ord, 0, db);
+ if (zsui)
+ {
+ if (zsui->info.which == ZEB_SU_SET_USE)
+ {
+ if (set)
+ *set = zsui->info.u.su.set;
+ if (use)
+ *use = zsui->info.u.su.use;
+ }
+
+ if (zsui->info.which == ZEB_SU_STR)
+ if (string_index)
+ *string_index = zsui->info.u.str;
+
+ if (index_type)
+ *index_type = zsui->info.index_type;
+ return 0;
+ }
+ return -1;
+}
+
+
+