projects
/
idzebra-moved-to-github.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Remove isamd. It's not been in use for a long time and isamb is better
[idzebra-moved-to-github.git]
/
index
/
zvrank.c
diff --git
a/index/zvrank.c
b/index/zvrank.c
index
45ebee2
..
4322dda
100644
(file)
--- a/
index/zvrank.c
+++ b/
index/zvrank.c
@@
-1,4
+1,4
@@
-/* $Id: zvrank.c,v 1.5 2003-05-20 09:43:46 adam Exp $
+/* $Id: zvrank.c,v 1.8 2004-08-04 08:35:24 adam Exp $
Copyright (C) 1995,1996,1997,1998,1999,2000,2001,2002,2003
Index Data Aps
Copyright (C) 1995,1996,1997,1998,1999,2000,2001,2002,2003
Index Data Aps
@@
-20,6
+20,13
@@
02111-1307, USA.
*/
02111-1307, USA.
*/
+/*
+Zvrank: an experimental ranking algorithm. See doc/zvrank.txt and
+source in index/zvrank.c. Enable this by using rank: zvrank in zebra.cfg.
+Contributed by Johannes Leveling <Johannes.Leveling at
+fernuni-hagen.de>
+*/
+
/* Zebra Vector Space Model RANKing
**
** six (seven) letter identifier for weighting scheme
/* Zebra Vector Space Model RANKing
**
** six (seven) letter identifier for weighting scheme
@@
-653,9
+660,10
@@
static void *zv_create (ZebraHandle zh) {
struct rank_class_info *ci = (struct rank_class_info *)
xmalloc (sizeof(*ci));
yaz_log(LOG_DEBUG, "zv_create");
struct rank_class_info *ci = (struct rank_class_info *)
xmalloc (sizeof(*ci));
yaz_log(LOG_DEBUG, "zv_create");
- wscheme=res_get(res, "zvrank.weighting-scheme");
- for (i=0; (i < strlen(wscheme)) && (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]=wscheme[i];
+ ci->rscheme[i] = '\0';
return ci;
}
return ci;
}
@@
-749,7
+757,7
@@
static void zv_add (void *rsi, int seqno, int i) {
* score should be between 0 and 1000. If score cannot be obtained
* -1 should be returned.
*/
* score should be between 0 and 1000. If score cannot be obtained
* -1 should be returned.
*/
-static int zv_calc (void *rsi, int sysno)
+static int zv_calc (void *rsi, zint sysno)
{
int i, veclen;
int score=0;
{
int i, veclen;
int score=0;
@@
-768,7
+776,7
@@
static int zv_calc (void *rsi, int sysno)
dscore=rs->sim_fct(rs->qdoc, rs->rdoc);
}
score = dscore * 1000;
dscore=rs->sim_fct(rs->qdoc, rs->rdoc);
}
score = dscore * 1000;
- yaz_log (LOG_LOG, "sysno=%d score=%d", sysno, score);
+ yaz_log (LOG_LOG, "sysno=" ZINT_FORMAT " score=%d", sysno, score);
if (score > 1000) /* should not happen */
score = 1000;
return score;
if (score > 1000) /* should not happen */
score = 1000;
return score;