diff --git a/server/vespa/schemas/chat_message.sd b/server/vespa/schemas/chat_message.sd index 94ce84fd5..b3b68bb90 100644 --- a/server/vespa/schemas/chat_message.sd +++ b/server/vespa/schemas/chat_message.sd @@ -133,6 +133,7 @@ schema chat_message { inputs { query(e) tensor(v[DIMS]) query(alpha) double + query(slackBoost) double } constants { @@ -158,13 +159,19 @@ schema chat_message { } } + function is_slack() { + expression: if(attribute(app) == "slack", 1, 0) + } + function combined_nativeRank() { expression { ( - nativeRank(text) + - nativeRank(username) + - nativeRank(name) - ) / if(matchedFieldCount == 0, 1, matchedFieldCount) + ( + nativeRank(text) + + nativeRank(username) + + nativeRank(name) + ) / if(matchedFieldCount == 0, 1, matchedFieldCount) + ) * if(is_slack == 1, query(slackBoost), 1) } } @@ -196,6 +203,7 @@ schema chat_message { nativeRank(text) nativeRank(username) nativeRank(name) + is_slack } } @@ -248,6 +256,7 @@ schema chat_message { nativeRank(text) nativeRank(username) nativeRank(name) + is_slack } } diff --git a/server/vespa/schemas/event.sd b/server/vespa/schemas/event.sd index a79cb4231..42f1304ef 100644 --- a/server/vespa/schemas/event.sd +++ b/server/vespa/schemas/event.sd @@ -161,6 +161,7 @@ schema event { query(e) tensor(v[DIMS]) query(alpha) double query(recency_decay_rate) double + query(eventBoost) double } constants { @@ -195,6 +196,9 @@ schema event { (META_FIELDS_DECAY * (bm25(attachmentFilenames) + bm25(attendeesNames))) } } + function is_event() { + expression: if(attribute(app) == "google-calendar", 1, 0) + } function matchedFieldCount() { expression { @@ -205,7 +209,7 @@ schema event { function combined_nativeRank() { expression { - ( + ( ( ( nativeRank(name) + nativeRank(description) + @@ -213,7 +217,7 @@ schema event { ) / if(matchedFieldCount == 0, 1, matchedFieldCount) ) + - (META_FIELDS_DECAY * (nativeRank(attachmentFilenames) + nativeRank(attendeesNames))) + (META_FIELDS_DECAY * (nativeRank(attachmentFilenames) + nativeRank(attendeesNames))) ) * if(is_event == 1, query(eventBoost), 1) } } } diff --git a/server/vespa/schemas/file.sd b/server/vespa/schemas/file.sd index 73b282bba..32a3e5fb0 100644 --- a/server/vespa/schemas/file.sd +++ b/server/vespa/schemas/file.sd @@ -146,6 +146,7 @@ schema file { query(e) tensor(v[DIMS]) # Query embedding query(alpha) double # Alpha parameter for hybrid weight query(recency_decay_rate) double + query(fileBoost) double } constants { @@ -183,9 +184,12 @@ schema file { matches(title) + matches(chunks) } } + function is_file() { + expression: if(attribute(app) == "google-drive", 1, 0) + } function combined_nativeRank() { - expression: (nativeRank(title) + nativeRank(chunks)) / if(matchedFieldCount == 0, 1, matchedFieldCount) + expression: ((nativeRank(title) + nativeRank(chunks)) / if(matchedFieldCount == 0, 1, matchedFieldCount))* if(is_file == 1, query(fileBoost), 1) } function chunk_scores() { diff --git a/server/vespa/schemas/mail.sd b/server/vespa/schemas/mail.sd index 44e381472..657cc3df2 100644 --- a/server/vespa/schemas/mail.sd +++ b/server/vespa/schemas/mail.sd @@ -143,6 +143,7 @@ schema mail { query(e) tensor(v[DIMS]) # Query embedding query(alpha) double # Alpha parameter for hybrid weight query(recency_decay_rate) double + query(mailBoost) double } constants { @@ -171,6 +172,9 @@ schema mail { function combined_bm25() { expression: bm25(subject) + bm25(chunks) + } + function is_mail() { + expression: if(attribute(app) == "gmail", 1, 0) } function matchedFieldCount() { @@ -192,7 +196,7 @@ schema mail { expression { if(query(is_intent_search) == 1.0, simplePeopleRank, - ((nativeRank(subject) + nativeRank(chunks) + peopleRank) / if(matchedFieldCount == 0, 1, matchedFieldCount)) + ((nativeRank(subject) + nativeRank(chunks) + peopleRank) / if(matchedFieldCount == 0, 1, matchedFieldCount))* if(is_mail == 1, query(mailBoost), 1) ) } }