forked from Mirrors/privacore-open-source-search-engine
Support CGI parameter synonym_weight
This commit is contained in:
@ -49,6 +49,7 @@ void Msg39Request::reset() {
|
||||
m_collnum = -1;
|
||||
m_useQueryStopWords = true;
|
||||
m_doMaxScoreAlgo = true;
|
||||
m_synonymWeight = 0.9;
|
||||
m_usePageTemperatureForRanking = true;
|
||||
for(int i=0; i<26; i++)
|
||||
m_flagScoreMultiplier[i] = 1.0;
|
||||
|
1
Msg39.h
1
Msg39.h
@ -56,6 +56,7 @@ class Msg39Request {
|
||||
bool m_allowHighFrequencyTermCache;
|
||||
bool m_doMaxScoreAlgo;
|
||||
|
||||
float m_synonymWeight;
|
||||
bool m_usePageTemperatureForRanking;
|
||||
|
||||
float m_flagScoreMultiplier[26];
|
||||
|
@ -324,6 +324,7 @@ bool Msg40::federatedLoop ( ) {
|
||||
mr.m_hideAllClustered = m_si->m_hideAllClustered;
|
||||
mr.m_familyFilter = m_si->m_familyFilter;
|
||||
mr.m_doMaxScoreAlgo = m_si->m_doMaxScoreAlgo;
|
||||
mr.m_synonymWeight = m_si->m_synonymWeight;
|
||||
mr.m_usePageTemperatureForRanking = m_si->m_usePageTemperatureForRanking;
|
||||
memcpy(mr.m_flagScoreMultiplier, m_si->m_flagScoreMultiplier, sizeof(mr.m_flagScoreMultiplier));
|
||||
memcpy(mr.m_flagRankAdjustment, m_si->m_flagRankAdjustment, sizeof(mr.m_flagRankAdjustment));
|
||||
|
12
Parms.cpp
12
Parms.cpp
@ -3766,6 +3766,18 @@ void Parms::init ( ) {
|
||||
m->m_flags = PF_HIDDEN | PF_NOSAVE;
|
||||
m++;
|
||||
|
||||
m->m_title = "Synonym weight";
|
||||
m->m_desc = "Weight of synonyms in relation to original words";
|
||||
m->m_cgi = "synonym_weight";
|
||||
m->m_obj = OBJ_SI;
|
||||
m->m_off = offsetof(SearchInput,m_synonymWeight);
|
||||
m->m_defOff2 = offsetof(Conf,m_synonymWeight);
|
||||
m->m_type = TYPE_FLOAT;
|
||||
m->m_def = "0.900000";
|
||||
m->m_flags = PF_HIDDEN | PF_NOSAVE;
|
||||
m->m_page = PAGE_RESULTS;
|
||||
m++;
|
||||
|
||||
m->m_title = "Use page temperature";
|
||||
m->m_desc = "Use page temperature (if available) for ranking";
|
||||
m->m_cgi = "use_page_temperature";
|
||||
|
@ -279,8 +279,8 @@ float PosdbTable::getBestScoreSumForSingleTerm(int32_t i, const char *wpi, const
|
||||
|
||||
// synonym
|
||||
if ( Posdb::getIsSynonym(wpi) ) {
|
||||
score *= g_conf.m_synonymWeight;
|
||||
score *= g_conf.m_synonymWeight;
|
||||
score *= m_msg39req->m_synonymWeight;
|
||||
score *= m_msg39req->m_synonymWeight;
|
||||
}
|
||||
|
||||
|
||||
|
@ -65,6 +65,7 @@ SearchInput::SearchInput() {
|
||||
m_askOtherShards = false;
|
||||
memset(m_queryId, 0, sizeof(m_queryId));
|
||||
m_doMaxScoreAlgo = false;
|
||||
m_synonymWeight = 0.9;
|
||||
m_usePageTemperatureForRanking = true;
|
||||
m_numFlagScoreMultipliers=26;
|
||||
for(int i=0; i<26; i++)
|
||||
|
@ -152,6 +152,7 @@ public:
|
||||
bool m_doDupContentRemoval; // msg40
|
||||
bool m_getDocIdScoringInfo;
|
||||
|
||||
float m_synonymWeight;
|
||||
bool m_usePageTemperatureForRanking;
|
||||
|
||||
int32_t m_numFlagScoreMultipliers;
|
||||
|
Reference in New Issue
Block a user