-/* $Id: zvrank.c,v 1.13 2004-11-04 13:09:06 heikki Exp $
- Copyright (C) 1995,1996,1997,1998,1999,2000,2001,2002,2003
- Index Data Aps
+/* $Id: zvrank.c,v 1.18 2005-08-19 09:21:34 adam Exp $
+ Copyright (C) 1995-2005
+ Index Data ApS
This file is part of the Zebra server.
#include "index.h"
-static int log_level=0;
-static int log_initialized=0;
+static int log_level = 0;
+static int log_initialized = 0;
static double blog(double x) {
/* log_2, log_e or log_10 is used, best to change it here if necessary */
if (gocc==0)
idf=0.0;
else
- idf=blog(num_docs/gocc);
+ idf=blog(CAST_ZINT_TO_DOUBLE(num_docs/gocc));
idf=idf*idf;
ds->terms[i].idf=idf;
}
xmalloc (sizeof(*ci));
if (!log_initialized)
{
- log_level=yaz_log_module_level("zvrank");
- log_initialized=1;
+ log_level = yaz_log_module_level("zvrank");
+ log_initialized = 1;
}
yaz_log(log_level, "zv_create");
- wscheme=res_get_def(res, "zvrank.weighting-scheme", "");
- for (i=0; wscheme[i] && i < 8; i++)
+ wscheme= res_get_def(res, "zvrank.weighting-scheme", "");
+ for (i = 0; wscheme[i] && i < 8; i++)
ci->rscheme[i]=wscheme[i];
ci->rscheme[i] = '\0';
return ci;
*/
static void zv_add (void *rsi, int seqno, TERMID term) {
RS rs=(RS)rsi;
+ int *ip = term->rankpriv;
+ int i=*ip;
if (!term)
{
yaz_log(log_level, "zvrank zv_add seqno=%d NULL term",seqno );
return;
}
- int *ip = term->rankpriv;
- int i=*ip;
rs->rdoc->terms[i].locc++;
yaz_log(log_level, "zvrank zv_add seqno=%d '%s' term_index=%d cnt=%d",
seqno, term->name, i, rs->rdoc->terms[i].locc );
* score should be between 0 and 1000. If score cannot be obtained
* -1 should be returned.
*/
-static int zv_calc (void *rsi, zint sysno)
+static int zv_calc (void *rsi, zint sysno, zint staticrank)
{
int i, veclen;
int score=0;
zv_add,
};
-struct rank_control *rankzv_class = &rank_control_vsm;
+struct rank_control *rank_zv_class = &rank_control_vsm;
-/* EOF */