{
    "RunMode": "product",
    "ListenConf": {
      "HttpAddr": "",
      "HttpPort": 8000
    },
    "ABTestConf": {
      "Host": "http://1894469520484605.vpc.cn-hangzhou.pai-eas.aliyuncs.com/api/predict/tzld_pairec_experiment",
      "Token": "MDc2MDc0N2E5YTVjMDc0MGE0YjNkZmRiOGQwMzBjYjYxY2U0MDNlNQ=="
    },
    "FilterConfs": [
    {
        "Name": "UserExposureFilter",
        "FilterType": "User2ItemExposureFilter",
        "MaxItems": 100,
        "TimeInterval": 172800,
        "WriteLog": true,
        "DaoConf":{
            "AdapterType": "hologres",
            "HologresName": "wx-holo",
            "HologresTableName": "rec_exposure_history"
        }
    },
    {
        "Name": "ItemStateFilter",
        "FilterType": "ItemStateFilter",
        "ItemStateDaoConf":{
            "AdapterType": "hologres",
            "HologresName": "wx-holo",
            "HologresTableName": "public.rec_item_status",
            "ItemFieldName" : "\"video_id\"",
            "SelectFields" :"app_recommend_status, audit_status,video_status, pwd_status,charge"
        },
        "FilterParams" :[
            {
                "Name" : "app_recommend_status",
                "Type" : "int",
                "Operator" : "in",
                "Value" : [-6, 1, 10]
            },
            {
                "Name" : "audit_status",
                "Type" : "int",
                "Operator" : "equal",
                "Value" : 5
            },
            {
                "Name" : "video_status",
                "Type" : "int",
                "Operator" : "equal",
                "Value" : 1
            },
            {
                "Name" : "pwd_status",
                "Type" : "int",
                "Operator" : "equal",
                "Value" : 0
            },
            {
                "Name" : "charge",
                "Type" : "int",
                "Operator" : "equal",
                "Value" : 0
            }
        ]
    },
        {
            "Name": "ItemDurationFilter",
            "FilterType": "ItemStateFilter",
            "ItemStateDaoConf":{
                "AdapterType": "hologres",
                "HologresName": "wx-holo",
                "HologresTableName": "longvideo.wx_video",
                "ItemFieldName" : "\"id\"",
                "SelectFields" :"total_time"
            },
            "FilterParams" :[
                {
                    "Name" : "total_time",
                    "Type" : "int",
                    "Operator" : "greaterThan",
                    "Value" : 120
                }
            ]
        },
    {
        "Name": "PriorityAdjustCountFilter",
        "FilterType": "PriorityAdjustCountFilter",
        "AdjustCountConfs" :[
        {
            "RecallName" :"U2IRecall",
            "Count" :200,
            "Type" : "accumulator"
        },
        {
            "RecallName" :"SwingU2IRecall",
            "Count" :400,
            "Type" : "accumulator"
        },
        {
            "RecallName" :"UserGroupHotRecall",
            "Count" :450,
            "Type" : "accumulator"
        },
        {
            "RecallName" :"UserGlobalHotRecall",
            "Count" :500,
            "Type" : "accumulator"
        },
        {
            "RecallName" :"ColdStartRecall",
            "Count" :600,
            "Type" : "accumulator"
        }
        ]
    }
    ],
    "RecallConfs": [
        {
          "Name":"U2IRecall",
          "RecallType": "UserCustomRecall",
          "RecallCount" :1000,
          "DaoConf":{
            "AdapterType": "hologres",
            "HologresName": "wx-holo",
            "HologresTableName": "rec_etrec_u2i2i_score"
          }
        },
        {
          "Name":"SwingU2IRecall",
          "RecallType": "UserCustomRecall",
          "RecallCount" :1000,
          "DaoConf":{
            "AdapterType": "hologres",
            "HologresName": "wx-holo",
            "HologresTableName": "rec_swing_u2i2i_score"
          }
        },
        {
          "Name":"UserGroupHotRecall",
          "RecallType": "UserGroupHotRecall",
          "RecallCount" :500,
          "Triggers": [
            {
              "TriggerKey": "machineinfo_platform"
            },
            {
              "TriggerKey": "province"
            },
            {
              "TriggerKey": "gender"
            }
          ],
          "DaoConf":{
                "AdapterType": "hologres",
                "HologresName": "wx-holo",
                "HologresTableName": "rec_group_hotness_score"
          }
        },
        {
          "Name":"UserGlobalHotRecall",
          "RecallType": "UserGlobalHotRecall",
          "RecallCount" :500,
          "CacheAdapter": "localCache",
          "CacheTime": 600,
          "CacheConfig": "{\"defaultExpiration\":600, \"cleanupInterval\":600}",
          "DaoConf":{
                "AdapterType": "hologres",
                "HologresName": "wx-holo",
                "HologresTableName": "rec_global_hotness_score"
          }
        },
        {
          "Name":"ColdStartRecall",
          "RecallType": "ColdStartRecall",
          "RecallCount" :500,
          "CacheAdapter": "localCache",
          "CacheTime": 120,
          "CacheConfig": "{\"defaultExpiration\":600, \"cleanupInterval\":300}",
          "ColdStartDaoConf":{
                "AdapterType": "hologres",
                "HologresName": "wx-holo",
                "HologresTableName": "longvideo.wx_video",
                "WhereClause" : "gmt_create >= ${time}",
                "PrimaryKey" : "id",
                "TimeInterval" : 86400
          }
        }
    ],
    "SortNames": {
      "default": [
         "ItemRankScore",
         "VideoMixSort"
      ]
    },
    "FilterNames": {
      "default": [
        "UniqueFilter",
        "UserExposureFilter",
        "ItemStateFilter",
        "ItemDurationFilter",
        "PriorityAdjustCountFilter"
      ]
    },
    "AlgoConfs": [
         {
       "Name": "sv_dbmtl",
       "Type": "EAS",
       "EasConf": {
         "Processor": "EasyRec",
         "Timeout": 500,
         "ResponseFuncName": "easyrecMutValResponseFunc",
         "Url": "http://1894469520484605.vpc.cn-hangzhou.pai-eas.aliyuncs.com/api/predict/sv_dbmtl",
         "Auth": "MmE2NWFkYTAwM2RmM2I3ODc1MTBjZjk0MjViNThkNjA0ODFhMjNjNA=="
        }
      }
    ],
    "HologresConfs": {
        "wx-holo" :{
            "DSN": "postgres://LTAI5t6Wu7AEgtmpY7ksBT6C:xZT7RCgaAT2u1xMdHtrdXre1NMP44W@hgprecn-cn-7pp28y18c00c-cn-hangzhou-vpc.hologres.aliyuncs.com:80/dssm?sslmode=disable&connect_timeout=1"
        }
    },
    "KafkaConfs": {
    },
    "RedisConfs": {
        "redis-cache" :{
           "Host": "r-bp1lwv3bjpv6zee8zw.redis.rds.aliyuncs.com",
           "Port": 6379,
           "Password": "alirecommend@2021",
           "ConnectTimeout": 1000,
           "ReadTimeout": 100
        }
    },
    "SceneConfs": {
        "video_feed":{
            "default":{
                "RecallNames":["UserGroupHotRecall", "U2IRecall", "UserGlobalHotRecall", "SwingU2IRecall", "ColdStartRecall"]
            }
        }
    },
    "LogConf": {
      "RetensionDays": 3,
      "DiskSize": 20,
      "LogLevel": "INFO"
    },
    "RankConf": {
         "video_feed": {
              "RankAlgoList": [
                "sv_dbmtl"
              ],
              "RankScore": "${sv_dbmtl_probs_is_videoRealPlay} + ${sv_dbmtl_y_playduration} + ${sv_dbmtl_y_play_rate} + 0.5 * ${sv_dbmtl_probs_is_videoShareFriend_videoShareH5_videoFavorite}",
              "BatchCount" : 100,
              "Processor": "EasyRec"
        }
    },
    "FeatureConfs": {
        "video_feed":{
           "AsynLoadFeature": true,
           "FeatureLoadConfs" :[
            {
              "FeatureDaoConf": {
                "AdapterType": "hologres",
                "HologresName": "wx-holo",
                "FeatureKey": "user:uid",
                "UserFeatureKeyName": "mid",
                "HologresTableName": "mid_all_feature",
                "UserSelectFields": "*",
                "FeatureStore": "user"
              },
              "Features": [
                {
                    "FeatureType":"new_feature",
                    "FeatureName":"day_h",
                    "Normalizer" : "hour_in_day",
                    "FeatureStore":"user"
                },
                {
                    "FeatureType":"new_feature",
                    "FeatureName":"week_day",
                    "Normalizer" : "weekday",
                    "FeatureStore":"user"
                }
              ]
            }
            
          ]
        }
    },
    "ColdStartRankConfs" :{
        "video_feed": {
           "RecallName": "ColdStartRecall"
        }
    }
 }