50 lines
1.7 KiB
Scala
50 lines
1.7 KiB
Scala
package com.twitter.home_mixer.util.earlybird
|
|
|
|
import com.twitter.search.common.schema.earlybird.EarlybirdFieldConstants.EarlybirdFieldConstant
|
|
import com.twitter.search.common.ranking.{thriftscala => scr}
|
|
import com.twitter.search.earlybird.{thriftscala => eb}
|
|
|
|
object RelevanceSearchUtil {
|
|
|
|
val Mentions: String = EarlybirdFieldConstant.MENTIONS_FACET
|
|
val Hashtags: String = EarlybirdFieldConstant.HASHTAGS_FACET
|
|
val FacetsToFetch: Seq[String] = Seq(Mentions, Hashtags)
|
|
|
|
private val RankingParams: scr.ThriftRankingParams = {
|
|
scr.ThriftRankingParams(
|
|
`type` = Some(scr.ThriftScoringFunctionType.TensorflowBased),
|
|
selectedTensorflowModel = Some("timelines_rectweet_replica"),
|
|
minScore = -1.0e100,
|
|
selectedModels = Some(Map("home_mixer_unified_engagement_prod" -> 1.0)),
|
|
applyBoosts = false,
|
|
)
|
|
}
|
|
|
|
val MetadataOptions: eb.ThriftSearchResultMetadataOptions = {
|
|
eb.ThriftSearchResultMetadataOptions(
|
|
getTweetUrls = true,
|
|
getResultLocation = false,
|
|
getLuceneScore = false,
|
|
getInReplyToStatusId = true,
|
|
getReferencedTweetAuthorId = true,
|
|
getMediaBits = true,
|
|
getAllFeatures = true,
|
|
returnSearchResultFeatures = true,
|
|
// Set getExclusiveConversationAuthorId in order to retrieve Exclusive / SuperFollow tweets.
|
|
getExclusiveConversationAuthorId = true
|
|
)
|
|
}
|
|
|
|
val RelevanceOptions: eb.ThriftSearchRelevanceOptions = {
|
|
eb.ThriftSearchRelevanceOptions(
|
|
proximityScoring = true,
|
|
maxConsecutiveSameUser = Some(2),
|
|
rankingParams = Some(RankingParams),
|
|
maxHitsToProcess = Some(500),
|
|
maxUserBlendCount = Some(3),
|
|
proximityPhraseWeight = 9.0,
|
|
returnAllResults = Some(true)
|
|
)
|
|
}
|
|
}
|