- float termfreq;
-#if 1
- termfreq = (float) rec->term_frequency_vecf[t];
-#else
- if (rec->term_frequency_vec[0])
- {
- termfreq = (float)
- rec->term_frequency_vec[t] / rec->term_frequency_vec[0] ;
- }
- else
- termfreq = 0.0;
-#endif
- relevance += 100000 * (termfreq * idfvec[t] + 0.0000005);
+ float termfreq = (float) rec->term_frequency_vecf[i];
+ int add = 100000 * termfreq * idfvec[i];
+
+ wrbuf_printf(w, "idf[%d] = log(((1 + total(%d))/termoccur(%d));\n",
+ i, rel->doc_frequency_vec[0],
+ rel->doc_frequency_vec[i]);
+ wrbuf_printf(w, "%s: relevance += 100000 * tf[%d](%f) * "
+ "idf[%d](%f) (%d);\n",
+ e->display_str, i, termfreq, i, idfvec[i], add);
+ relevance += add;
+ e = e->next;
+ }
+ if (!rel->rank_cluster)
+ {
+ struct record *record;
+ int cluster_size = 0;
+
+ for (record = rec->records; record; record = record->next)
+ cluster_size++;
+
+ wrbuf_printf(w, "score = relevance(%d)/cluster_size(%d);\n",
+ relevance, cluster_size);
+ relevance /= cluster_size;
+ }
+ else
+ {
+ wrbuf_printf(w, "score = relevance(%d);\n", relevance);