X-Git-Url: http://lists.indexdata.com/cgi-bin?a=blobdiff_plain;f=index%2Fzinfo.c;h=3d2aee8aa95095c18bf19f54c802f1945261eaf1;hb=6ba9698e88c0283e40fa5980a1a6b551fff2d597;hp=05b772ad106ef82d9ffc6f9b504b6e7e06ae0b6d;hpb=24031af43eeb85eb33b0c208ee6c6b02144cb799;p=idzebra-moved-to-github.git diff --git a/index/zinfo.c b/index/zinfo.c index 05b772a..3d2aee8 100644 --- a/index/zinfo.c +++ b/index/zinfo.c @@ -1,4 +1,4 @@ -/* $Id: zinfo.c,v 1.61 2006-05-10 13:46:55 adam Exp $ +/* $Id: zinfo.c,v 1.64 2006-05-19 13:49:34 adam Exp $ Copyright (C) 1995-2006 Index Data ApS @@ -1438,8 +1438,13 @@ int zebraExplain_lookup_attr_su_any_index(ZebraExplainInfo zei, int set, int use) { struct zebSUInfoB *zsui; + int ord; assert (zei->curDatabaseInfo); + + ord = zebraExplain_lookup_attr_su(zei, 'w', set, use); + if (ord != -1) + return ord; for (zsui = zei->curDatabaseInfo->attributeDetails->SUInfo; zsui; zsui=zsui->next) if (zsui->info.which == ZEB_SU_SET_USE && @@ -1486,7 +1491,7 @@ int zebraExplain_lookup_attr_str(ZebraExplainInfo zei, int index_type, *zsui; zsui = &(*zsui)->next) if ((*zsui)->info.index_type == index_type && (*zsui)->info.which == ZEB_SU_STR - && !strcmp((*zsui)->info.u.str, str)) + && !yaz_matchstr((*zsui)->info.u.str, str)) { struct zebSUInfoB *zsui_this = *zsui; @@ -1577,6 +1582,22 @@ int zebraExplain_ord_get_occurrences(ZebraExplainInfo zei, int ord, 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, @@ -1679,6 +1700,7 @@ int zebraExplain_add_attr_su(ZebraExplainInfo zei, int index_type, { struct zebSUInfoB *zsui = zebraExplain_add_sui_info(zei, index_type); + yaz_log(YLOG_WARN, "add_attr_su"); zebraExplain_addAttributeSet (zei, set); zsui->info.which = ZEB_SU_SET_USE; zsui->info.u.su.set = set;