X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=rset%2Frsrel.c;h=d344b014efb174723ec0ffab4c5e4b92a320d964;hb=195222aff7f9fa54caaef052c3fdd15f47f4703d;hp=74bc84f6ef64d1b08f93494cb2cb13da22686f8c;hpb=27f033269b7e8a800cba8d1192506695d21a3b00;p=idzebra-moved-to-github.git diff --git a/rset/rsrel.c b/rset/rsrel.c index 74bc84f..d344b01 100644 --- a/rset/rsrel.c +++ b/rset/rsrel.c @@ -4,7 +4,17 @@ * Sebastian Hammer, Adam Dickmeiss * * $Log: rsrel.c,v $ - * Revision 1.18 1997-09-24 13:36:41 adam + * Revision 1.21 1997-11-18 10:05:08 adam + * Changed character map facility so that admin can specify character + * mapping files for each register type, w, p, etc. + * + * Revision 1.20 1997/10/31 12:37:55 adam + * Code calls xfree() instead of free(). + * + * Revision 1.19 1997/10/01 11:44:06 adam + * Small improvement of new ranking. + * + * Revision 1.18 1997/09/24 13:36:41 adam * More work on new ranking algorithm. * * Revision 1.17 1997/09/22 12:39:07 adam @@ -246,7 +256,7 @@ static void relevance (struct rset_rel_info *info, rset_relevance_parms *parms) no_occur = score_sum = 0; memcpy (isam_prev_buf, isam_buf[min], info->key_size); for (i = 0; ino_isam_positions; i++) - pos_tf[i] = 0; + pos_tf[i] = -10; } else if (min < 0 || (*parms->cmp)(isam_buf[min], isam_prev_buf) > 1) @@ -259,7 +269,7 @@ static void relevance (struct rset_rel_info *info, rset_relevance_parms *parms) no_occur = score_sum = 0; memcpy (isam_prev_buf, isam_buf[min], info->key_size); for (i = 0; ino_isam_positions; i++) - pos_tf[i] = 0; + pos_tf[i] = -10; } pos = (*parms->get_pos)(isam_buf[min]); logf (LOG_LOG, "pos=%d", pos); @@ -268,7 +278,7 @@ static void relevance (struct rset_rel_info *info, rset_relevance_parms *parms) int d = pos - pos_tf[i]; no_occur++; - if (!pos_tf[i] && i != min) + if (pos_tf[i] < 0 && i != min) continue; if (d < 10) d = 10; @@ -421,7 +431,7 @@ static void r_close (RSFD rfd) if (*rfdp == rfd) { *rfdp = (*rfdp)->next; - free (rfd); + xfree (rfd); return; } logf (LOG_FATAL, "r_close but no rfd match!");