119 log_level = yaz_log_module_level(
"rank-similarity");
146 void *class_handle,
RSET rset, NMEM nmem,
147 TERMID *terms,
int numterms)
153 yaz_log(
log_level,
"begin() numterms=%d", numterms);
166 nmem_malloc (si->
nmem,
sizeof(*si->
entries)*numterms);
173 for (i = 0; i < numterms; i++)
179 if (strncmp (terms[i]->flags,
"rank,", 5))
182 yaz_log(
log_level,
"begin() terms[%d]: '%s' flags=%s not ranked",
183 i, terms[i]->name, terms[i]->flags);
187 const char *cp = strstr(terms[i]->flags+4,
",w=");
189 zint no_docs_fieldindex = 0;
190 zint no_terms_fieldindex = 0;
192 yaz_log(
log_level,
"begin() terms[%d]: '%s' flags=%s",
193 i, terms[i]->name, terms[i]->flags);
226 for (; ol; ol = ol->
next)
228 const char *index_type = 0;
230 const char *string_index = 0;
233 ol->
ord, &index_type, &db,
243 "begin() index: ord=%d type=%s db=%s str-index=%s",
244 ol->
ord, index_type, db, string_index);
247 "begin() index: ord=%d type=%s db=%s",
248 ol->
ord, index_type, db);
281 static void add (
void *set_handle,
int seqno,
TERMID term)
318 yaz_log(
log_level,
"calc() si->no_terms_query = %d",
320 yaz_log(
log_level,
"calc() si->no_ranked_terms_query = %d",
339 yaz_log(
log_level,
"calc() entries[%d] termid %p",
342 yaz_log(
log_level,
"calc() entries[%d] term '%s' flags=%s",
344 yaz_log(
log_level,
"calc() entries[%d] rank_flag %d",
346 yaz_log(
log_level,
"calc() entries[%d] fieldindex_weight %d",
348 yaz_log(
log_level,
"calc() entries[%d] freq_term_docfield %d",
354 yaz_log(
log_level,
"calc() entries[%d] no_docs_fieldindex "
357 yaz_log(
log_level,
"calc() entries[%d] no_terms_fieldindex "
369 if (staticrank >= INT_MAX)
378 yaz_log(
log_level,
"calc() statistics: score = %d", score);
static void ranksimilar_rec_reset(struct ranksimilarity_set_info *si)
static void * begin(struct zebra_register *reg, void *class_handle, RSET rset, NMEM nmem, TERMID *terms, int numterms)
static struct rank_control rank_control
static void end(struct zebra_register *reg, void *set_handle)
static void * create(ZebraHandle zh)
static int log_initialized
struct rank_control * rank_similarity_class
static void destroy(struct zebra_register *reg, void *class_handle)
static int calc(void *set_handle, zint sysno, zint staticrank, int *stop_flag)
static void add(void *set_handle, int seqno, TERMID term)
zint rset_count(RSET rs)
Estimates hit count for result set.
int no_ranked_terms_query
struct ranksimilarity_term_info * entries
#define CAST_ZINT_TO_INT(x)
zint zebraExplain_ord_get_term_occurrences(ZebraExplainInfo zei, int ord)
int zebraExplain_lookup_ord(ZebraExplainInfo zei, int ord, const char **index_type, const char **db, const char **string_index)
zint zebraExplain_ord_get_doc_occurrences(ZebraExplainInfo zei, int ord)