Use BaseScoringParameters struct more places

This commit is contained in:
Ivan Skytte Jørgensen
2017-12-08 13:54:15 +01:00
parent 3b4d2758d3
commit dd1e08f0cc
10 changed files with 91 additions and 131 deletions

@ -17,6 +17,23 @@ struct BaseScoringParameters {
m_hashGroupWeightInternalLinkText,
m_hashGroupWeightInUrl,
m_hashGroupWeightInMenu;
BaseScoringParameters() { clear(); }
void clear() {
m_diversityWeightMin = m_diversityWeightMax = 0.0;
m_densityWeightMin = m_densityWeightMax = 0.0;
m_hashGroupWeightBody = 0.0;
m_hashGroupWeightTitle = 0.0;
m_hashGroupWeightHeading = 0.0;
m_hashGroupWeightInlist = 0.0;
m_hashGroupWeightInMetaTag = 0.0;
m_hashGroupWeightInLinkText = 0.0;
m_hashGroupWeightInTag = 0.0;
m_hashGroupWeightNeighborhood = 0.0;
m_hashGroupWeightInternalLinkText = 0.0;
m_hashGroupWeightInUrl = 0.0;
m_hashGroupWeightInMenu = 0.0;
}
};
#endif

@ -125,21 +125,7 @@ Conf::Conf ( ) {
m_termFreqWeightFreqMax = 0.0;
m_termFreqWeightMin = 0.0;
m_termFreqWeightMax = 0.0;
m_densityWeightMin = 0.0;
m_densityWeightMax = 0.0;
m_diversityWeightMin = 0.0;
m_diversityWeightMax = 0.0;
m_hashGroupWeightBody = 0.0;
m_hashGroupWeightTitle = 0.0;
m_hashGroupWeightHeading = 0.0;
m_hashGroupWeightInlist = 0.0;
m_hashGroupWeightInMetaTag = 0.0;
m_hashGroupWeightInLinkText = 0.0;
m_hashGroupWeightInTag = 0.0;
m_hashGroupWeightNeighborhood = 0.0;
m_hashGroupWeightInternalLinkText = 0.0;
m_hashGroupWeightInUrl = 0.0;
m_hashGroupWeightInMenu = 0.0;
m_baseScoringParameters.clear();
m_synonymWeight = 0.0;
m_bigramWeight = 5.0;
m_pageTemperatureWeightMin = 0.0;

19
Conf.h

@ -16,6 +16,7 @@
#include "max_coll_len.h"
#include "max_url_len.h"
#include "SafeBuf.h"
#include "BaseScoringParameters.h"
#define USERAGENTMAXSIZE 128
@ -220,23 +221,7 @@ class Conf {
float m_termFreqWeightMin;
float m_termFreqWeightMax;
float m_densityWeightMin;
float m_densityWeightMax;
float m_diversityWeightMin;
float m_diversityWeightMax;
float m_hashGroupWeightBody;
float m_hashGroupWeightTitle;
float m_hashGroupWeightHeading;
float m_hashGroupWeightInlist;
float m_hashGroupWeightInMetaTag;
float m_hashGroupWeightInLinkText;
float m_hashGroupWeightInTag;
float m_hashGroupWeightNeighborhood;
float m_hashGroupWeightInternalLinkText;
float m_hashGroupWeightInUrl;
float m_hashGroupWeightInMenu;
BaseScoringParameters m_baseScoringParameters;
float m_synonymWeight;
float m_bigramWeight;
float m_pageTemperatureWeightMin;

@ -335,19 +335,7 @@ bool Msg40::federatedLoop ( ) {
mr.m_familyFilter = m_si->m_familyFilter;
mr.m_doMaxScoreAlgo = m_si->m_doMaxScoreAlgo;
mr.m_modifyQuery = true; //we are a user-specified query so modifying it is ok. todo/hack until msg39 can carry the full query information
mr.m_derivedScoringWeights.init(m_si->m_diversityWeightMin, m_si->m_diversityWeightMax,
m_si->m_densityWeightMin, m_si->m_densityWeightMax,
m_si->m_hashGroupWeightBody,
m_si->m_hashGroupWeightTitle,
m_si->m_hashGroupWeightHeading,
m_si->m_hashGroupWeightInlist,
m_si->m_hashGroupWeightInMetaTag,
m_si->m_hashGroupWeightInLinkText,
m_si->m_hashGroupWeightInTag,
m_si->m_hashGroupWeightNeighborhood,
m_si->m_hashGroupWeightInternalLinkText,
m_si->m_hashGroupWeightInUrl,
m_si->m_hashGroupWeightInMenu);
mr.m_derivedScoringWeights.init(m_si->m_baseScoringParameters);
mr.m_termFreqWeightFreqMin = m_si->m_termFreqWeightFreqMin;
mr.m_termFreqWeightFreqMax = m_si->m_termFreqWeightFreqMax;

@ -287,19 +287,7 @@ bool Msg1c::reindexQuery ( const char *query,
// add language dropdown or take from [query reindex] link
m_msg3a.m_msg39req.m_language = langId;
m_msg3a.m_msg39req.m_allowHighFrequencyTermCache = false;
m_msg3a.m_msg39req.m_derivedScoringWeights.init(g_conf.m_diversityWeightMin, g_conf.m_diversityWeightMax,
g_conf.m_densityWeightMin, g_conf.m_densityWeightMax,
g_conf.m_hashGroupWeightBody,
g_conf.m_hashGroupWeightTitle,
g_conf.m_hashGroupWeightHeading,
g_conf.m_hashGroupWeightInlist,
g_conf.m_hashGroupWeightInMetaTag,
g_conf.m_hashGroupWeightInLinkText,
g_conf.m_hashGroupWeightInTag,
g_conf.m_hashGroupWeightNeighborhood,
g_conf.m_hashGroupWeightInternalLinkText,
g_conf.m_hashGroupWeightInUrl,
g_conf.m_hashGroupWeightInMenu);
m_msg3a.m_msg39req.m_derivedScoringWeights.init(g_conf.m_baseScoringParameters);
// log for now
logf(LOG_DEBUG,"reindex: qlangid=%" PRId32" q=%s",langId,query);

@ -3646,8 +3646,8 @@ void Parms::init ( ) {
m->m_title = "densityWeightMin";
m->m_desc = "densityWeightMin";
m->m_cgi = "densityweightmin";
simple_m_set(SearchInput,m_densityWeightMin);
m->m_defOff2 = offsetof(Conf,m_densityWeightMin);
simple_m_set(SearchInput,m_baseScoringParameters.m_densityWeightMin);
m->m_defOff2 = offsetof(Conf,m_baseScoringParameters.m_densityWeightMin);
m->m_def = "0.350000";
m->m_page = PAGE_RESULTS;
m++;
@ -3655,8 +3655,8 @@ void Parms::init ( ) {
m->m_title = "densityWeightMax";
m->m_desc = "densityWeightMax";
m->m_cgi = "densityweightmax";
simple_m_set(SearchInput,m_densityWeightMax);
m->m_defOff2 = offsetof(Conf,m_densityWeightMax);
simple_m_set(SearchInput,m_baseScoringParameters.m_densityWeightMax);
m->m_defOff2 = offsetof(Conf,m_baseScoringParameters.m_densityWeightMax);
m->m_def = "1.000000";
m->m_page = PAGE_RESULTS;
m++;
@ -3664,8 +3664,8 @@ void Parms::init ( ) {
m->m_title = "diversityWeightMin";
m->m_desc = "diversityWeightMin";
m->m_cgi = "diversityweightmin";
simple_m_set(SearchInput,m_diversityWeightMin);
m->m_defOff2 = offsetof(Conf,m_diversityWeightMin);
simple_m_set(SearchInput,m_baseScoringParameters.m_diversityWeightMin);
m->m_defOff2 = offsetof(Conf,m_baseScoringParameters.m_diversityWeightMin);
m->m_def = "1.000000";
m->m_page = PAGE_RESULTS;
m++;
@ -3673,8 +3673,8 @@ void Parms::init ( ) {
m->m_title = "diversityWeightMax";
m->m_desc = "diversityWeightMax";
m->m_cgi = "diversityweightmax";
simple_m_set(SearchInput,m_diversityWeightMax);
m->m_defOff2 = offsetof(Conf,m_diversityWeightMax);
simple_m_set(SearchInput,m_baseScoringParameters.m_diversityWeightMax);
m->m_defOff2 = offsetof(Conf,m_baseScoringParameters.m_diversityWeightMax);
m->m_def = "1.000000";
m->m_page = PAGE_RESULTS;
m++;
@ -3682,8 +3682,8 @@ void Parms::init ( ) {
m->m_title = "hashGroupWeightBody";
m->m_desc = "hashGroupWeightBody";
m->m_cgi = "hgw_body";
simple_m_set(SearchInput,m_hashGroupWeightBody);
m->m_defOff2 = offsetof(Conf,m_hashGroupWeightBody);
simple_m_set(SearchInput,m_baseScoringParameters.m_hashGroupWeightBody);
m->m_defOff2 = offsetof(Conf,m_baseScoringParameters.m_hashGroupWeightBody);
m->m_def = "1.000000";
m->m_page = PAGE_RESULTS;
m++;
@ -3691,8 +3691,8 @@ void Parms::init ( ) {
m->m_title = "hashGroupWeightTitle";
m->m_desc = "hashGroupWeightTitle";
m->m_cgi = "hgw_title";
simple_m_set(SearchInput,m_hashGroupWeightTitle);
m->m_defOff2 = offsetof(Conf,m_hashGroupWeightTitle);
simple_m_set(SearchInput,m_baseScoringParameters.m_hashGroupWeightTitle);
m->m_defOff2 = offsetof(Conf,m_baseScoringParameters.m_hashGroupWeightTitle);
m->m_def = "8.000000";
m->m_page = PAGE_RESULTS;
m++;
@ -3700,8 +3700,8 @@ void Parms::init ( ) {
m->m_title = "hashGroupWeightHeading";
m->m_desc = "hashGroupWeightHeading";
m->m_cgi = "hgw_heading";
simple_m_set(SearchInput,m_hashGroupWeightHeading);
m->m_defOff2 = offsetof(Conf,m_hashGroupWeightHeading);
simple_m_set(SearchInput,m_baseScoringParameters.m_hashGroupWeightHeading);
m->m_defOff2 = offsetof(Conf,m_baseScoringParameters.m_hashGroupWeightHeading);
m->m_def = "1.500000";
m->m_page = PAGE_RESULTS;
m++;
@ -3709,8 +3709,8 @@ void Parms::init ( ) {
m->m_title = "hashGroupWeightInlist";
m->m_desc = "hashGroupWeightInlist";
m->m_cgi = "hgw_list";
simple_m_set(SearchInput,m_hashGroupWeightInlist);
m->m_defOff2 = offsetof(Conf,m_hashGroupWeightInlist);
simple_m_set(SearchInput,m_baseScoringParameters.m_hashGroupWeightInlist);
m->m_defOff2 = offsetof(Conf,m_baseScoringParameters.m_hashGroupWeightInlist);
m->m_def = "0.300000";
m->m_page = PAGE_RESULTS;
m++;
@ -3718,8 +3718,8 @@ void Parms::init ( ) {
m->m_title = "hashGroupWeightInMetaTag";
m->m_desc = "hashGroupWeightInMetaTag";
m->m_cgi = "hgw_metatag";
simple_m_set(SearchInput,m_hashGroupWeightInMetaTag);
m->m_defOff2 = offsetof(Conf,m_hashGroupWeightInMetaTag);
simple_m_set(SearchInput,m_baseScoringParameters.m_hashGroupWeightInMetaTag);
m->m_defOff2 = offsetof(Conf,m_baseScoringParameters.m_hashGroupWeightInMetaTag);
m->m_def = "0.100000";
m->m_page = PAGE_RESULTS;
m++;
@ -3727,8 +3727,8 @@ void Parms::init ( ) {
m->m_title = "hashGroupWeightInLinkText";
m->m_desc = "hashGroupWeightInLinkText";
m->m_cgi = "hgw_inlinktext";
simple_m_set(SearchInput,m_hashGroupWeightInLinkText);
m->m_defOff2 = offsetof(Conf,m_hashGroupWeightInLinkText);
simple_m_set(SearchInput,m_baseScoringParameters.m_hashGroupWeightInLinkText);
m->m_defOff2 = offsetof(Conf,m_baseScoringParameters.m_hashGroupWeightInLinkText);
m->m_def = "16.000000";
m->m_page = PAGE_RESULTS;
m++;
@ -3736,8 +3736,8 @@ void Parms::init ( ) {
m->m_title = "hashGroupWeightInTag";
m->m_desc = "hashGroupWeightInTag";
m->m_cgi = "hgw_intag";
simple_m_set(SearchInput,m_hashGroupWeightInTag);
m->m_defOff2 = offsetof(Conf,m_hashGroupWeightInTag);
simple_m_set(SearchInput,m_baseScoringParameters.m_hashGroupWeightInTag);
m->m_defOff2 = offsetof(Conf,m_baseScoringParameters.m_hashGroupWeightInTag);
m->m_def = "1.000000";
m->m_page = PAGE_RESULTS;
m++;
@ -3745,8 +3745,8 @@ void Parms::init ( ) {
m->m_title = "hashGroupWeightNeighborhood";
m->m_desc = "hashGroupWeightNeighborhood";
m->m_cgi = "hgw_neighborhood";
simple_m_set(SearchInput,m_hashGroupWeightNeighborhood);
m->m_defOff2 = offsetof(Conf,m_hashGroupWeightNeighborhood);
simple_m_set(SearchInput,m_baseScoringParameters.m_hashGroupWeightNeighborhood);
m->m_defOff2 = offsetof(Conf,m_baseScoringParameters.m_hashGroupWeightNeighborhood);
m->m_def = "0.000000";
m->m_page = PAGE_RESULTS;
m++;
@ -3754,8 +3754,8 @@ void Parms::init ( ) {
m->m_title = "hashGroupWeightInternalLinkText";
m->m_desc = "hashGroupWeightInternalLinkText";
m->m_cgi = "hgw_inintlinktext";
simple_m_set(SearchInput,m_hashGroupWeightInternalLinkText);
m->m_defOff2 = offsetof(Conf,m_hashGroupWeightInternalLinkText);
simple_m_set(SearchInput,m_baseScoringParameters.m_hashGroupWeightInternalLinkText);
m->m_defOff2 = offsetof(Conf,m_baseScoringParameters.m_hashGroupWeightInternalLinkText);
m->m_def = "4.000000";
m->m_page = PAGE_RESULTS;
m++;
@ -3763,8 +3763,8 @@ void Parms::init ( ) {
m->m_title = "hashGroupWeightInUrl";
m->m_desc = "hashGroupWeightInUrl";
m->m_cgi = "hgw_inurl";
simple_m_set(SearchInput,m_hashGroupWeightInUrl);
m->m_defOff2 = offsetof(Conf,m_hashGroupWeightInUrl);
simple_m_set(SearchInput,m_baseScoringParameters.m_hashGroupWeightInUrl);
m->m_defOff2 = offsetof(Conf,m_baseScoringParameters.m_hashGroupWeightInUrl);
m->m_def = "1.000000";
m->m_page = PAGE_RESULTS;
m++;
@ -3772,8 +3772,8 @@ void Parms::init ( ) {
m->m_title = "hashGroupWeightInMenu";
m->m_desc = "hashGroupWeightInMenu";
m->m_cgi = "hgw_inmenu";
simple_m_set(SearchInput,m_hashGroupWeightInMenu);
m->m_defOff2 = offsetof(Conf,m_hashGroupWeightInMenu);
simple_m_set(SearchInput,m_baseScoringParameters.m_hashGroupWeightInMenu);
m->m_defOff2 = offsetof(Conf,m_baseScoringParameters.m_hashGroupWeightInMenu);
m->m_def = "0.200000";
m->m_page = PAGE_RESULTS;
m++;
@ -4095,7 +4095,7 @@ void Parms::init ( ) {
m->m_title = "density weight min";
m->m_desc = "Term density weight minimum. Normally less than 1.0";
m->m_cgi = "densityweightmin";
simple_m_set(Conf,m_densityWeightMin);
simple_m_set(Conf,m_baseScoringParameters.m_densityWeightMin);
m->m_def = "0.350000";
m->m_group = true;
m->m_flags = PF_REBUILDRANKINGSETTINGS;
@ -4105,7 +4105,7 @@ void Parms::init ( ) {
m->m_title = "density weight max";
m->m_desc = "Term density weight maximum. Normally 1.0";
m->m_cgi = "densityweightmax";
simple_m_set(Conf,m_densityWeightMax);
simple_m_set(Conf,m_baseScoringParameters.m_densityWeightMax);
m->m_def = "1.000000";
m->m_group = false;
m->m_flags = PF_REBUILDRANKINGSETTINGS;
@ -4115,7 +4115,7 @@ void Parms::init ( ) {
m->m_title = "diversity weight min";
m->m_desc = "Term diversity weight minimum. Normally less than 1.0";
m->m_cgi = "diversityweightmin";
simple_m_set(Conf,m_diversityWeightMin);
simple_m_set(Conf,m_baseScoringParameters.m_diversityWeightMin);
m->m_def = "1.000000"; //"0.15"; disabled for now
m->m_group = true;
m->m_flags = PF_REBUILDRANKINGSETTINGS;
@ -4125,7 +4125,7 @@ void Parms::init ( ) {
m->m_title = "diversity weight max";
m->m_desc = "Term diversity weight maximum. Normally 1.0";
m->m_cgi = "diversityweightmax";
simple_m_set(Conf,m_diversityWeightMax);
simple_m_set(Conf,m_baseScoringParameters.m_diversityWeightMax);
m->m_def = "1.000000";
m->m_group = false;
m->m_flags = PF_REBUILDRANKINGSETTINGS;
@ -4137,7 +4137,7 @@ void Parms::init ( ) {
m->m_title = "Hashgroup weight - body";
m->m_desc = "";
m->m_cgi = "hgw_body";
simple_m_set(Conf,m_hashGroupWeightBody);
simple_m_set(Conf,m_baseScoringParameters.m_hashGroupWeightBody);
m->m_def = "1.000000";
m->m_group = true;
m->m_flags = PF_REBUILDRANKINGSETTINGS;
@ -4147,7 +4147,7 @@ void Parms::init ( ) {
m->m_title = "Hashgroup weight - title";
m->m_desc = "";
m->m_cgi = "hgw_title";
simple_m_set(Conf,m_hashGroupWeightTitle);
simple_m_set(Conf,m_baseScoringParameters.m_hashGroupWeightTitle);
m->m_def = "8.000000";
m->m_group = false;
m->m_flags = PF_REBUILDRANKINGSETTINGS;
@ -4157,7 +4157,7 @@ void Parms::init ( ) {
m->m_title = "Hashgroup weight - heading";
m->m_desc = "";
m->m_cgi = "hgw_heading";
simple_m_set(Conf,m_hashGroupWeightHeading);
simple_m_set(Conf,m_baseScoringParameters.m_hashGroupWeightHeading);
m->m_def = "1.500000"; //3.0
m->m_group = false;
m->m_flags = PF_REBUILDRANKINGSETTINGS;
@ -4167,7 +4167,7 @@ void Parms::init ( ) {
m->m_title = "Hashgroup weight - list";
m->m_desc = "";
m->m_cgi = "hgw_list";
simple_m_set(Conf,m_hashGroupWeightInlist);
simple_m_set(Conf,m_baseScoringParameters.m_hashGroupWeightInlist);
m->m_def = "0.300000";
m->m_group = false;
m->m_flags = PF_REBUILDRANKINGSETTINGS;
@ -4177,7 +4177,7 @@ void Parms::init ( ) {
m->m_title = "Hashgroup weight - metatag";
m->m_desc = "";
m->m_cgi = "hgw_metatag";
simple_m_set(Conf,m_hashGroupWeightInMetaTag);
simple_m_set(Conf,m_baseScoringParameters.m_hashGroupWeightInMetaTag);
m->m_def = "0.100000";
m->m_group = false;
m->m_flags = PF_REBUILDRANKINGSETTINGS;
@ -4187,7 +4187,7 @@ void Parms::init ( ) {
m->m_title = "Hashgroup weight - in link text";
m->m_desc = "";
m->m_cgi = "hgw_inlinktext";
simple_m_set(Conf,m_hashGroupWeightInLinkText);
simple_m_set(Conf,m_baseScoringParameters.m_hashGroupWeightInLinkText);
m->m_def = "16.000000";
m->m_group = false;
m->m_flags = PF_REBUILDRANKINGSETTINGS;
@ -4197,7 +4197,7 @@ void Parms::init ( ) {
m->m_title = "Hashgroup weight - tag";
m->m_desc = "";
m->m_cgi = "hgw_intag";
simple_m_set(Conf,m_hashGroupWeightInTag);
simple_m_set(Conf,m_baseScoringParameters.m_hashGroupWeightInTag);
m->m_def = "1.000000";
m->m_group = false;
m->m_flags = PF_REBUILDRANKINGSETTINGS;
@ -4207,7 +4207,7 @@ void Parms::init ( ) {
m->m_title = "Hashgroup weight - neighborhood";
m->m_desc = "";
m->m_cgi = "hgw_neighborhood";
simple_m_set(Conf,m_hashGroupWeightNeighborhood);
simple_m_set(Conf,m_baseScoringParameters.m_hashGroupWeightNeighborhood);
m->m_def = "0.000000";
m->m_group = false;
m->m_flags = PF_REBUILDRANKINGSETTINGS;
@ -4217,7 +4217,7 @@ void Parms::init ( ) {
m->m_title = "Hashgroup weight - internal link text";
m->m_desc = "";
m->m_cgi = "hgw_inintlinktext";
simple_m_set(Conf,m_hashGroupWeightInternalLinkText);
simple_m_set(Conf,m_baseScoringParameters.m_hashGroupWeightInternalLinkText);
m->m_def = "4.000000";
m->m_group = false;
m->m_flags = PF_REBUILDRANKINGSETTINGS;
@ -4227,7 +4227,7 @@ void Parms::init ( ) {
m->m_title = "Hashgroup weight - URL";
m->m_desc = "";
m->m_cgi = "hgw_inurl";
simple_m_set(Conf,m_hashGroupWeightInUrl);
simple_m_set(Conf,m_baseScoringParameters.m_hashGroupWeightInUrl);
m->m_def = "1.000000";
m->m_group = false;
m->m_flags = PF_REBUILDRANKINGSETTINGS;
@ -4237,7 +4237,7 @@ void Parms::init ( ) {
m->m_title = "Hashgroup weight - in menu";
m->m_desc = "";
m->m_cgi = "hgw_inmenu";
simple_m_set(Conf,m_hashGroupWeightInMenu);
simple_m_set(Conf,m_baseScoringParameters.m_hashGroupWeightInMenu);
m->m_def = "0.200000";
m->m_group = false;
m->m_flags = PF_REBUILDRANKINGSETTINGS;

@ -5689,19 +5689,7 @@ static void initWeights ( ) {
logTrace(g_conf.m_logTracePosdb, "BEGIN.");
s_scoringWeights.init(g_conf.m_diversityWeightMin, g_conf.m_diversityWeightMax,
g_conf.m_densityWeightMin, g_conf.m_densityWeightMax,
g_conf.m_hashGroupWeightBody,
g_conf.m_hashGroupWeightTitle,
g_conf.m_hashGroupWeightHeading,
g_conf.m_hashGroupWeightInlist,
g_conf.m_hashGroupWeightInMetaTag,
g_conf.m_hashGroupWeightInLinkText,
g_conf.m_hashGroupWeightInTag,
g_conf.m_hashGroupWeightNeighborhood,
g_conf.m_hashGroupWeightInternalLinkText,
g_conf.m_hashGroupWeightInUrl,
g_conf.m_hashGroupWeightInMenu);
s_scoringWeights.init(g_conf.m_baseScoringParameters);
// if two hashgroups are comaptible they can be paired
for ( int32_t i = 0 ; i < HASHGROUP_END ; i++ ) {

@ -1,5 +1,6 @@
#include "ScoringWeights.h"
#include "ScalingFunctions.h"
#include "BaseScoringParameters.h"
#include <math.h>
void DerivedScoringWeights::init(float diversityWeightMin, float diversityWeightMax,
@ -51,3 +52,20 @@ void DerivedScoringWeights::init(float diversityWeightMin, float diversityWeight
m_hashGroupWeights[HASHGROUP_INURL ] = hashGroupWeightInUrl;
m_hashGroupWeights[HASHGROUP_INMENU ] = hashGroupWeightInMenu;
}
void DerivedScoringWeights::init(const BaseScoringParameters& bsp) {
init(bsp.m_diversityWeightMin, bsp.m_diversityWeightMax,
bsp.m_densityWeightMin, bsp.m_densityWeightMax,
bsp.m_hashGroupWeightBody,
bsp.m_hashGroupWeightTitle,
bsp.m_hashGroupWeightHeading,
bsp.m_hashGroupWeightInlist,
bsp.m_hashGroupWeightInMetaTag,
bsp.m_hashGroupWeightInLinkText,
bsp.m_hashGroupWeightInTag,
bsp.m_hashGroupWeightNeighborhood,
bsp.m_hashGroupWeightInternalLinkText,
bsp.m_hashGroupWeightInUrl,
bsp.m_hashGroupWeightInMenu);
}

@ -3,6 +3,8 @@
#include "Posdb.h"
struct BaseScoringParameters;
//misc. rank-to-weight, group-to-weight, shoesize-to-weight lookups
class DerivedScoringWeights {
@ -26,6 +28,7 @@ public:
float hashGroupWeightInternalLinkText,
float hashGroupWeightInUrl,
float hashGroupWeightInMenu);
void init(const BaseScoringParameters& bsp);
};
#endif

@ -16,6 +16,7 @@
#include "Query.h" // MAX_QUERY_LEN
#include "HttpRequest.h"
#include "BaseScoringParameters.h"
#include <string>
class CollectionRec;
@ -154,21 +155,7 @@ public:
float m_termFreqWeightMin;
float m_termFreqWeightMax;
float m_diversityWeightMin;
float m_diversityWeightMax;
float m_densityWeightMin;
float m_densityWeightMax;
float m_hashGroupWeightBody;
float m_hashGroupWeightTitle;
float m_hashGroupWeightHeading;
float m_hashGroupWeightInlist;
float m_hashGroupWeightInMetaTag;
float m_hashGroupWeightInLinkText;
float m_hashGroupWeightInTag;
float m_hashGroupWeightNeighborhood;
float m_hashGroupWeightInternalLinkText;
float m_hashGroupWeightInUrl;
float m_hashGroupWeightInMenu;
BaseScoringParameters m_baseScoringParameters;
float m_synonymWeight;
float m_bigramWeight;
float m_pageTemperatureWeightMin;