pazpar2
1.14.1
|
#include <assert.h>
#include <math.h>
#include <stdlib.h>
#include "relevance.h"
#include "session.h"
#include "client.h"
#include "settings.h"
Go to the source code of this file.
Data Structures | |
struct | relevance |
struct | word_entry |
struct | norm_client |
struct | norm_record |
Functions | |
struct norm_client * | findnorm (struct relevance *rel, struct client *client) |
static void | setup_norm_record (struct relevance *rel, struct record_cluster *clust) |
static double | squaresum (struct norm_record *rp, double a, double b) |
static void | normalize_scores (struct relevance *rel) |
static struct word_entry * | word_entry_match (struct relevance *r, const char *norm_str, const char *rank, int *weight) |
int | relevance_snippet (struct relevance *r, const char *words, const char *name, WRBUF w_snippet) |
void | relevance_countwords (struct relevance *r, struct record_cluster *cluster, const char *words, const char *rank, const char *name) |
static void | pull_terms (struct relevance *res, struct ccl_rpn_node *n) |
void | relevance_clear (struct relevance *r) |
struct relevance * | relevance_create_ccl (pp2_charset_fact_t pft, struct ccl_rpn_node *query, int rank_cluster, double follow_factor, double lead_decay, int length_divide) |
void | relevance_destroy (struct relevance **rp) |
void | relevance_mergerec (struct relevance *r, struct record_cluster *dst, const struct record_cluster *src) |
void | relevance_newrec (struct relevance *r, struct record_cluster *rec) |
void | relevance_donerecord (struct relevance *r, struct record_cluster *cluster) |
void | relevance_prepare_read (struct relevance *rel, struct reclist *reclist) |
Variables | |
const int | scorefield_none = -1 |
const int | scorefield_internal = -2 |
const int | scorefield_position = -3 |
struct norm_client* findnorm | ( | struct relevance * | rel, |
struct client * | client | ||
) |
Definition at line 92 of file relevance.c.
References norm_client::client, client_get_database(), client_get_session(), conf_service_metadata_field_id(), norm_client::count, norm_client::max, norm_client::min, norm_client::native_score, norm_client::next, relevance::nmem, relevance::norm, norm_client::num, PZ_NATIVE_SCORE, norm_client::records, norm_client::scorefield, scorefield_internal, scorefield_none, scorefield_position, session::service, and session_setting_oneval().
Referenced by setup_norm_record().
|
static |
Definition at line 192 of file relevance.c.
References norm_client::a, norm_client::b, norm_record::clust, norm_client::count, norm_client::max, norm_client::min, norm_client::next, norm_record::next, relevance::norm, norm_client::num, norm_record::record, norm_client::records, record_cluster::relevance_score, record::score, norm_record::score, norm_client::scorefield, scorefield_none, scorefield_position, and squaresum().
Referenced by relevance_prepare_read().
|
static |
Definition at line 487 of file relevance.c.
References word_entry::ccl_field, relevance::entries, word_entry::next, relevance::nmem, word_entry::norm_str, pp2_charset_token_first(), pp2_charset_token_next(), relevance::prt, and relevance::vec_len.
Referenced by relevance_create_ccl().
void relevance_clear | ( | struct relevance * | r | ) |
Definition at line 530 of file relevance.c.
References relevance::doc_frequency_vec, and relevance::vec_len.
Referenced by relevance_create_ccl(), and session_clear_set().
void relevance_countwords | ( | struct relevance * | r, |
struct record_cluster * | cluster, | ||
const char * | words, | ||
const char * | rank, | ||
const char * | name | ||
) |
Definition at line 398 of file relevance.c.
References word_entry::display_str, relevance::entries, relevance::follow_factor, relevance::lead_decay, relevance::length_divide, name, word_entry::next, word_entry::norm_str, pp2_charset_token_first(), pp2_charset_token_next(), relevance::prt, record_cluster::relevance_explain1, record_cluster::term_frequency_vec, relevance::term_frequency_vec_tmp, record_cluster::term_frequency_vecf, relevance::term_pos, word_entry::termno, relevance::vec_len, and word_entry_match().
Referenced by ingest_to_cluster().
struct relevance* relevance_create_ccl | ( | pp2_charset_fact_t | pft, |
struct ccl_rpn_node * | query, | ||
int | rank_cluster, | ||
double | follow_factor, | ||
double | lead_decay, | ||
int | length_divide | ||
) |
Definition at line 540 of file relevance.c.
References relevance::doc_frequency_vec, relevance::entries, relevance::follow_factor, relevance::lead_decay, relevance::length_divide, relevance::nmem, relevance::norm, pp2_charset_token_create(), relevance::prt, pull_terms(), relevance::rank_cluster, relevance_clear(), relevance::term_frequency_vec_tmp, relevance::term_pos, and relevance::vec_len.
Referenced by client_parse_query().
void relevance_destroy | ( | struct relevance ** | rp | ) |
Definition at line 575 of file relevance.c.
References pp2_charset_token_destroy().
Referenced by session_destroy().
void relevance_donerecord | ( | struct relevance * | r, |
struct record_cluster * | cluster | ||
) |
Definition at line 616 of file relevance.c.
References relevance::doc_frequency_vec, record_cluster::term_frequency_vec, and relevance::vec_len.
Referenced by ingest_to_cluster().
void relevance_mergerec | ( | struct relevance * | r, |
struct record_cluster * | dst, | ||
const struct record_cluster * | src | ||
) |
Definition at line 585 of file relevance.c.
References record_cluster::term_frequency_vec, record_cluster::term_frequency_vecf, and relevance::vec_len.
Referenced by merge_cluster().
void relevance_newrec | ( | struct relevance * | r, |
struct record_cluster * | rec | ||
) |
Definition at line 597 of file relevance.c.
References relevance::nmem, record_cluster::term_frequency_vec, record_cluster::term_frequency_vecf, and relevance::vec_len.
Referenced by new_cluster().
Definition at line 630 of file relevance.c.
References word_entry::display_str, relevance::doc_frequency_vec, relevance::entries, record::next, word_entry::next, normalize_scores(), relevance::rank_cluster, reclist_enter(), reclist_leave(), reclist_read_record(), reclist_rewind(), record_cluster::records, record_cluster::relevance_explain2, record_cluster::relevance_score, setup_norm_record(), record_cluster::term_frequency_vecf, and relevance::vec_len.
Referenced by show_range_start().
int relevance_snippet | ( | struct relevance * | r, |
const char * | words, | ||
const char * | name, | ||
WRBUF | w_snippet | ||
) |
Definition at line 349 of file relevance.c.
References relevance::entries, word_entry::next, word_entry::norm_str, pp2_charset_token_first(), pp2_charset_token_next(), pp2_get_org(), and relevance::prt.
Referenced by ingest_to_cluster().
|
static |
Definition at line 135 of file relevance.c.
References record::client, norm_record::clust, norm_client::count, record_metadata::data, findnorm(), data_types::fnumber, norm_client::max, record::metadata, norm_client::min, record::next, norm_record::next, relevance::nmem, norm_client::num, record::position, norm_record::record, record_cluster::records, norm_client::records, record_cluster::relevance_score, norm_record::score, norm_client::scorefield, scorefield_internal, scorefield_none, and scorefield_position.
Referenced by relevance_prepare_read().
|
static |
Definition at line 178 of file relevance.c.
References norm_record::next, record::position, norm_record::record, and norm_record::score.
Referenced by normalize_scores().
|
static |
Definition at line 321 of file relevance.c.
References word_entry::ccl_field, relevance::entries, word_entry::next, and word_entry::norm_str.
Referenced by relevance_countwords().
const int scorefield_internal = -2 |
Definition at line 78 of file relevance.c.
Referenced by findnorm(), and setup_norm_record().
const int scorefield_none = -1 |
Definition at line 76 of file relevance.c.
Referenced by findnorm(), normalize_scores(), and setup_norm_record().
const int scorefield_position = -3 |
Definition at line 79 of file relevance.c.
Referenced by findnorm(), normalize_scores(), and setup_norm_record().