- /**/
- /* assign doc functions */
- switch (c0) {
- case 'b':
- rs->d_tf_fct=tf_binary;
- rs->rscheme[0]='b';
- break;
- case 'm':
- rs->d_tf_fct=tf_max_norm;
- rs->rscheme[0]='m';
- yaz_log(LOG_DEBUG, "tf_max_norm: d_f_max required");
- break;
- case 'a':
- rs->d_tf_fct=tf_aug_norm;
- rs->rscheme[0]='a';
- yaz_log(LOG_DEBUG, "tf_aug_norm: d_f_max required");
- break;
- case 's':
- rs->d_tf_fct=tf_square;
- rs->rscheme[0]='s';
- break;
- case 'l':
- rs->d_tf_fct=tf_log;
- rs->rscheme[0]='l';
- break;
- default: /* 'n' */
- rs->d_tf_fct=tf_none;
- rs->rscheme[0]='n';
- }
- switch (c1) {
- case 't':
- rs->d_idf_fct=idf_tfidf;
- rs->rscheme[1]='t';
- yaz_log(LOG_DEBUG, "idf_tfidf: db_docs required");
- break;
- case 'p':
- rs->d_idf_fct=idf_prob;
- rs->rscheme[1]='p';
- yaz_log(LOG_DEBUG, "idf_prob: db_docs required");
- break;
- case 'f':
- rs->d_idf_fct=idf_freq;
- rs->rscheme[1]='f';
- yaz_log(LOG_DEBUG, "idf_freq: db_docs required");
- break;
- case 's':
- rs->d_idf_fct=idf_squared;
- rs->rscheme[1]='s';
- yaz_log(LOG_DEBUG, "idf_squared: db_docs required");
- break;
- default: /* 'n' */
- rs->d_idf_fct=idf_none;
- rs->rscheme[1]='n';
- }
- switch (c2) {
- case 's':
- rs->d_norm_fct=norm_sum;
- rs->rscheme[2]='s';
- break;
- case 'c':
- rs->d_norm_fct=norm_cosine;
- rs->rscheme[2]='c';
- break;
- case 'f':
- rs->d_norm_fct=norm_fourth;
- rs->rscheme[2]='t';
- break;
- case 'm':
- rs->d_norm_fct=norm_max;
- rs->rscheme[2]='m';
- break;
- default: /* 'n' */
- rs->d_norm_fct=norm_none;
- rs->rscheme[2]='n';
- }
- /**/
- rs->rscheme[3]='-';
- /* assign query functions */
- switch (c4) {
- case 'b':
- rs->q_tf_fct=tf_binary;
- rs->rscheme[4]='b';
- break;
- case 'm':
- rs->q_tf_fct=tf_max_norm;
- yaz_log(LOG_DEBUG, "tf_max_norm: d_f_max required");
- rs->rscheme[4]='m';
- break;
- case 'a':
- rs->q_tf_fct=tf_aug_norm;
- rs->rscheme[4]='a';
- yaz_log(LOG_DEBUG, "tf_aug_norm: d_f_max required");
- break;
- case 's':
- rs->q_tf_fct=tf_square;
- rs->rscheme[4]='s';
- break;
- case 'l':
- rs->q_tf_fct=tf_log;
- rs->rscheme[4]='l';
- break;
- default: /* 'n' */
- rs->q_tf_fct=tf_none;
- rs->rscheme[4]='n';
- }
- switch (c5) {
- case 't':
- rs->q_idf_fct=idf_tfidf;
- rs->rscheme[5]='t';
- yaz_log(LOG_DEBUG, "idf_tfidf: db_docs required");
- break;
- case 'p':
- rs->q_idf_fct=idf_prob;
- rs->rscheme[5]='p';
- yaz_log(LOG_DEBUG, "idf_prob: db_docs required");
- break;
- case 'f':
- rs->q_idf_fct=idf_freq;
- rs->rscheme[5]='f';
- yaz_log(LOG_DEBUG, "idf_freq: db_docs required");
- break;
- case 's':
- rs->q_idf_fct=idf_squared;
- rs->rscheme[5]='s';
- yaz_log(LOG_DEBUG, "idf_squared: db_docs required");
- break;
- default: /* 'n' */
- rs->q_idf_fct=idf_none;
- rs->rscheme[5]='n';
- }
- switch (c6) {
- case 's':
- rs->q_norm_fct=norm_sum;
- rs->rscheme[6]='s';
- break;
- case 'c':
- rs->q_norm_fct=norm_cosine;
- rs->rscheme[6]='c';
- break;
- case 'f':
- rs->q_norm_fct=norm_fourth;
- rs->rscheme[6]='f';
- break;
- case 'm':
- rs->q_norm_fct=norm_max;
- rs->rscheme[6]='m';
- break;
- default: /* 'n' */
- rs->q_norm_fct=norm_none;
- rs->rscheme[6]='n';
- }
- rs->rscheme[7]='\0';
- /**/
- rs->sim_fct=sim_cosine;
- yaz_log(LOG_DEBUG, "zv_scheme %s", rs->rscheme);
- return;
+
+ /* assign doc functions */
+ switch (c0)
+ {
+ case 'b':
+ rs->d_tf_fct=tf_binary;
+ rs->rscheme[0]='b';
+ break;
+ case 'm':
+ rs->d_tf_fct=tf_max_norm;
+ rs->rscheme[0]='m';
+ yaz_log(log_level, "tf_max_norm: d_f_max required");
+ break;
+ case 'a':
+ rs->d_tf_fct=tf_aug_norm;
+ rs->rscheme[0]='a';
+ yaz_log(log_level, "tf_aug_norm: d_f_max required");
+ break;
+ case 's':
+ rs->d_tf_fct=tf_square;
+ rs->rscheme[0]='s';
+ break;
+ case 'l':
+ rs->d_tf_fct=tf_log;
+ rs->rscheme[0]='l';
+ break;
+ default: /* 'n' */
+ rs->d_tf_fct=tf_none;
+ rs->rscheme[0]='n';
+ }
+ switch (c1)
+ {
+ case 't':
+ rs->d_idf_fct=idf_tfidf;
+ rs->rscheme[1]='t';
+ yaz_log(log_level, "idf_tfidf: db_docs required");
+ break;
+ case 'p':
+ rs->d_idf_fct=idf_prob;
+ rs->rscheme[1]='p';
+ yaz_log(log_level, "idf_prob: db_docs required");
+ break;
+ case 'f':
+ rs->d_idf_fct=idf_freq;
+ rs->rscheme[1]='f';
+ yaz_log(log_level, "idf_freq: db_docs required");
+ break;
+ case 's':
+ rs->d_idf_fct=idf_squared;
+ rs->rscheme[1]='s';
+ yaz_log(log_level, "idf_squared: db_docs required");
+ break;
+ default: /* 'n' */
+ rs->d_idf_fct=idf_none;
+ rs->rscheme[1]='n';
+ }
+ switch (c2)
+ {
+ case 's':
+ rs->d_norm_fct=norm_sum;
+ rs->rscheme[2]='s';
+ break;
+ case 'c':
+ rs->d_norm_fct=norm_cosine;
+ rs->rscheme[2]='c';
+ break;
+ case 'f':
+ rs->d_norm_fct=norm_fourth;
+ rs->rscheme[2]='t';
+ break;
+ case 'm':
+ rs->d_norm_fct=norm_max;
+ rs->rscheme[2]='m';
+ break;
+ default: /* 'n' */
+ rs->d_norm_fct=norm_none;
+ rs->rscheme[2]='n';
+ }
+ rs->rscheme[3]='-';
+ /* assign query functions */
+ switch (c4)
+ {
+ case 'b':
+ rs->q_tf_fct=tf_binary;
+ rs->rscheme[4]='b';
+ break;
+ case 'm':
+ rs->q_tf_fct=tf_max_norm;
+ yaz_log(log_level, "tf_max_norm: d_f_max required");
+ rs->rscheme[4]='m';
+ break;
+ case 'a':
+ rs->q_tf_fct=tf_aug_norm;
+ rs->rscheme[4]='a';
+ yaz_log(log_level, "tf_aug_norm: d_f_max required");
+ break;
+ case 's':
+ rs->q_tf_fct=tf_square;
+ rs->rscheme[4]='s';
+ break;
+ case 'l':
+ rs->q_tf_fct=tf_log;
+ rs->rscheme[4]='l';
+ break;
+ default: /* 'n' */
+ rs->q_tf_fct=tf_none;
+ rs->rscheme[4]='n';
+ }
+ switch (c5)
+ {
+ case 't':
+ rs->q_idf_fct=idf_tfidf;
+ rs->rscheme[5]='t';
+ yaz_log(log_level, "idf_tfidf: db_docs required");
+ break;
+ case 'p':
+ rs->q_idf_fct=idf_prob;
+ rs->rscheme[5]='p';
+ yaz_log(log_level, "idf_prob: db_docs required");
+ break;
+ case 'f':
+ rs->q_idf_fct=idf_freq;
+ rs->rscheme[5]='f';
+ yaz_log(log_level, "idf_freq: db_docs required");
+ break;
+ case 's':
+ rs->q_idf_fct=idf_squared;
+ rs->rscheme[5]='s';
+ yaz_log(log_level, "idf_squared: db_docs required");
+ break;
+ default: /* 'n' */
+ rs->q_idf_fct=idf_none;
+ rs->rscheme[5]='n';
+ }
+ switch (c6)
+ {
+ case 's':
+ rs->q_norm_fct=norm_sum;
+ rs->rscheme[6]='s';
+ break;
+ case 'c':
+ rs->q_norm_fct=norm_cosine;
+ rs->rscheme[6]='c';
+ break;
+ case 'f':
+ rs->q_norm_fct=norm_fourth;
+ rs->rscheme[6]='f';
+ break;
+ case 'm':
+ rs->q_norm_fct=norm_max;
+ rs->rscheme[6]='m';
+ break;
+ default: /* 'n' */
+ rs->q_norm_fct=norm_none;
+ rs->rscheme[6]='n';
+ }
+ rs->rscheme[7]='\0';
+ rs->sim_fct=sim_cosine;
+ yaz_log(log_level, "zv_scheme %s", rs->rscheme);