X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=index%2Fzsets.c;h=009fedaa51469ef2321d899ee8b7237185dfa978;hb=295776420b233dff7ae1444ba5997b18858fe425;hp=57b7e4b88dc4187a6a7bbb94b79b6860e5f782da;hpb=528c6d510de470a02e97881492001002008eab44;p=idzebra-moved-to-github.git diff --git a/index/zsets.c b/index/zsets.c index 57b7e4b..009feda 100644 --- a/index/zsets.c +++ b/index/zsets.c @@ -1,4 +1,4 @@ -/* $Id: zsets.c,v 1.48 2004-06-07 22:09:32 adam Exp $ +/* $Id: zsets.c,v 1.49.2.1 2004-11-15 21:53:08 adam Exp $ Copyright (C) 1995,1996,1997,1998,1999,2000,2001,2002,2003,2004 Index Data Aps @@ -511,8 +511,8 @@ void resultSetInsertSort (ZebraHandle zh, ZebraSet sset, new_entry->score = -1; } -void resultSetInsertRank (ZebraHandle zh, struct zset_sort_info *sort_info, - int sysno, int score, int relation) +void resultSetInsertRank(ZebraHandle zh, struct zset_sort_info *sort_info, + int sysno, int score, int relation) { struct zset_sort_entry *new_entry = NULL; int i, j; @@ -603,6 +603,7 @@ void resultSetSortSingle (ZebraHandle zh, NMEM nmem, ZebraSet sset, RSET rset, Z_SortKeySpecList *sort_sequence, int *sort_status) { + int kno = 0; int i, psysno = 0; struct it_key key; struct sortKeyInfo sort_criteria[3]; @@ -610,7 +611,6 @@ void resultSetSortSingle (ZebraHandle zh, NMEM nmem, int term_index; RSFD rfd; - yaz_log (LOG_LOG, "resultSetSortSingle start"); sset->sort_info->num_entries = 0; sset->hits = 0; @@ -675,6 +675,7 @@ void resultSetSortSingle (ZebraHandle zh, NMEM nmem, rfd = rset_open (rset, RSETF_READ); while (rset_read (rset, rfd, &key, &term_index)) { + kno++; if (key.sysno != psysno) { (sset->hits)++; @@ -685,6 +686,7 @@ void resultSetSortSingle (ZebraHandle zh, NMEM nmem, } rset_close (rset, rfd); + yaz_log (LOG_LOG, "%d keys, %d sysnos, sort", kno, sset->hits); for (i = 0; i < rset->no_rset_terms; i++) yaz_log (LOG_LOG, "term=\"%s\" nn=%d type=%s count=%d", rset->rset_terms[i]->name, @@ -693,7 +695,6 @@ void resultSetSortSingle (ZebraHandle zh, NMEM nmem, rset->rset_terms[i]->count); *sort_status = Z_SortResponse_success; - yaz_log (LOG_LOG, "resultSetSortSingle end"); } RSET resultSetRef (ZebraHandle zh, const char *resultSetId) @@ -714,15 +715,19 @@ void resultSetRank (ZebraHandle zh, ZebraSet zebraSet, RSET rset) ZebraRankClass rank_class; struct rank_control *rc; struct zset_sort_info *sort_info; + const char *rank_handler_name = res_get_def(zh->res, "rank", "rank-1"); sort_info = zebraSet->sort_info; sort_info->num_entries = 0; zebraSet->hits = 0; rfd = rset_open (rset, RSETF_READ); - yaz_log (LOG_LOG, "resultSetRank"); - - rank_class = zebraRankLookup (zh, res_get_def(zh->res, "rank", "rank-1")); + rank_class = zebraRankLookup (zh, rank_handler_name); + if (!rank_class) + { + yaz_log (LOG_WARN, "No such rank handler: %s", rank_handler_name); + return; + } rc = rank_class->control; if (rset_read (rset, rfd, &key, &term_index)) @@ -752,6 +757,7 @@ void resultSetRank (ZebraHandle zh, ZebraSet zebraSet, RSET rset) } rset_close (rset, rfd); + yaz_log (LOG_LOG, "%d keys, %d sysnos, rank", kno, zebraSet->hits); for (i = 0; i < rset->no_rset_terms; i++) yaz_log (LOG_LOG, "term=\"%s\" nn=%d type=%s count=%d", rset->rset_terms[i]->name, @@ -759,7 +765,6 @@ void resultSetRank (ZebraHandle zh, ZebraSet zebraSet, RSET rset) rset->rset_terms[i]->flags, rset->rset_terms[i]->count); - yaz_log (LOG_LOG, "%d keys, %d distinct sysnos", kno, zebraSet->hits); } ZebraRankClass zebraRankLookup (ZebraHandle zh, const char *name)