from . import DEFAULT_ES_INDEX_NULL DATA_TABLE_NAME = "track_search_data" TOP_PROPS = ( "id", "country", "artwork_url", "isrc", "name", "artist_name", "cm_artist_id", "release_date", "spotify_track_id", "genres", "label", ) INDEX_PROPS = ( "name", "slugified_name", "country", "artist_name", "artwork_url", "cm_artist_id", "spotify_track_id", "genres", "label", ) DSP_INDEX_PROPS_MAP = { "tiktok": ( "views", "views_change_7", "views_trend_7", "views_change_28", "views_trend_28", "likes", "likes_change_7", "likes_trend_7", "likes_change_28", "likes_trend_28", "comments", "comments_change_7", "comments_trend_7", "comments_change_28", "comments_trend_28", "posts_latest", "posts_latest_change_7", "posts_latest_trend_7", "posts_latest_change_28", "posts_latest_trend_28", "mentions", ), "youtube": ( "latest_release_date", "views", "views_change_7", "views_trend_7", "views_change_28", "views_trend_28", "likes", "likes_change_7", "likes_trend_7", "likes_change_28", "likes_trend_28", "comments", "comments_change_7", "comments_trend_7", "comments_change_28", "comments_trend_28", "videos", ), "spotify": ( "monthly_listeners", "monthly_listeners_change_7", "monthly_listeners_trend_7", "monthly_listeners_change_28", "monthly_listeners_trend_28", "playlists", "playlists_change_7", "playlists_trend_7", "playlists_change_28", "playlists_trend_28", "streams", "streams_change_7", "streams_trend_7", "streams_change_28", "streams_trend_28", "popularity", ), "soundcloud": ( "latest_release_date", "followers", "followers_change_7", "followers_trend_7", "followers_change_28", "followers_trend_28", "plays", "plays_change_7", "plays_trend_7", "plays_change_28", "plays_trend_28", "likes", "likes_change_7", "likes_trend_7", "likes_change_28", "likes_trend_28", "comments", "comments_change_7", "comments_trend_7", "comments_change_28", "comments_trend_28", ), } DSP_TO_INTERPOLATE = ("soundcloud", "spotify") DSP_TO_EXTEND = ("soundcloud", "tiktok", "spotify", "youtube") DSP_CHANGE_TRENDS_PROPS_MAP = { "spotify": ( "streams", "monthly_listeners", ), "tiktok": ("views", "likes", "comments", "posts_latest"), "youtube": ( "views", "likes", ), "soundcloud": ( "plays", "likes", "comments", "followers", ), } INDEX_MAPPING = { "mappings": { "properties": { "soundcloud": { "properties": { "latest_release_date": {"type": "date", "null_value": "1970-01-01"}, "followers": {"type": "long", "null_value": DEFAULT_ES_INDEX_NULL}, "followers_change_7": {"type": "long", "null_value": DEFAULT_ES_INDEX_NULL}, "followers_trend_7": {"type": "float", "null_value": DEFAULT_ES_INDEX_NULL}, "followers_change_28": {"type": "long", "null_value": DEFAULT_ES_INDEX_NULL}, "followers_trend_28": {"type": "float", "null_value": DEFAULT_ES_INDEX_NULL}, "plays": {"type": "long", "null_value": DEFAULT_ES_INDEX_NULL}, "plays_change_7": {"type": "long", "null_value": DEFAULT_ES_INDEX_NULL}, "plays_trend_7": {"type": "float", "null_value": DEFAULT_ES_INDEX_NULL}, "plays_change_28": {"type": "long", "null_value": DEFAULT_ES_INDEX_NULL}, "plays_trend_28": {"type": "float", "null_value": DEFAULT_ES_INDEX_NULL}, "likes": {"type": "long", "null_value": DEFAULT_ES_INDEX_NULL}, "likes_change_7": {"type": "long", "null_value": DEFAULT_ES_INDEX_NULL}, "likes_trend_7": {"type": "float", "null_value": DEFAULT_ES_INDEX_NULL}, "likes_change_28": {"type": "long", "null_value": DEFAULT_ES_INDEX_NULL}, "likes_trend_28": {"type": "float", "null_value": DEFAULT_ES_INDEX_NULL}, "comments": {"type": "long", "null_value": DEFAULT_ES_INDEX_NULL}, "comments_change_7": {"type": "long", "null_value": DEFAULT_ES_INDEX_NULL}, "comments_trend_7": {"type": "float", "null_value": DEFAULT_ES_INDEX_NULL}, "comments_change_28": {"type": "long", "null_value": DEFAULT_ES_INDEX_NULL}, "comments_trend_28": {"type": "float", "null_value": DEFAULT_ES_INDEX_NULL}, } }, "tiktok": { "properties": { "views": {"type": "long", "null_value": DEFAULT_ES_INDEX_NULL}, "views_change_7": {"type": "long", "null_value": DEFAULT_ES_INDEX_NULL}, "views_trend_7": {"type": "float", "null_value": DEFAULT_ES_INDEX_NULL}, "views_change_28": {"type": "long", "null_value": DEFAULT_ES_INDEX_NULL}, "views_trend_28": {"type": "float", "null_value": DEFAULT_ES_INDEX_NULL}, "posts_latest": {"type": "long", "null_value": DEFAULT_ES_INDEX_NULL}, "posts_latest_change_7": {"type": "long", "null_value": DEFAULT_ES_INDEX_NULL}, "posts_latest_trend_7": {"type": "float", "null_value": DEFAULT_ES_INDEX_NULL}, "posts_latest_change_28": {"type": "long", "null_value": DEFAULT_ES_INDEX_NULL}, "posts_latest_trend_28": {"type": "float", "null_value": DEFAULT_ES_INDEX_NULL}, "mentions": {"type": "long", "null_value": DEFAULT_ES_INDEX_NULL}, "likes": {"type": "long", "null_value": DEFAULT_ES_INDEX_NULL}, "likes_change_7": {"type": "long", "null_value": DEFAULT_ES_INDEX_NULL}, "likes_trend_7": {"type": "float", "null_value": DEFAULT_ES_INDEX_NULL}, "likes_change_28": {"type": "long", "null_value": DEFAULT_ES_INDEX_NULL}, "likes_trend_28": {"type": "float", "null_value": DEFAULT_ES_INDEX_NULL}, "comments": {"type": "long", "null_value": DEFAULT_ES_INDEX_NULL}, "comments_change_7": {"type": "long", "null_value": DEFAULT_ES_INDEX_NULL}, "comments_trend_7": {"type": "float", "null_value": DEFAULT_ES_INDEX_NULL}, "comments_change_28": {"type": "long", "null_value": DEFAULT_ES_INDEX_NULL}, "comments_trend_28": {"type": "float", "null_value": DEFAULT_ES_INDEX_NULL}, } }, "youtube": { "properties": { "latest_release_date": {"type": "date", "null_value": "1970-01-01"}, "videos": {"type": "long", "null_value": DEFAULT_ES_INDEX_NULL}, "views": {"type": "long", "null_value": DEFAULT_ES_INDEX_NULL}, "views_change_7": {"type": "long", "null_value": DEFAULT_ES_INDEX_NULL}, "views_trend_7": {"type": "float", "null_value": DEFAULT_ES_INDEX_NULL}, "views_change_28": {"type": "long", "null_value": DEFAULT_ES_INDEX_NULL}, "views_trend_28": {"type": "float", "null_value": DEFAULT_ES_INDEX_NULL}, "likes": {"type": "long", "null_value": DEFAULT_ES_INDEX_NULL}, "likes_change_7": {"type": "long", "null_value": DEFAULT_ES_INDEX_NULL}, "likes_trend_7": {"type": "float", "null_value": DEFAULT_ES_INDEX_NULL}, "likes_change_28": {"type": "long", "null_value": DEFAULT_ES_INDEX_NULL}, "likes_trend_28": {"type": "float", "null_value": DEFAULT_ES_INDEX_NULL}, "comments": {"type": "long", "null_value": DEFAULT_ES_INDEX_NULL}, "comments_change_7": {"type": "long", "null_value": DEFAULT_ES_INDEX_NULL}, "comments_trend_7": {"type": "float", "null_value": DEFAULT_ES_INDEX_NULL}, "comments_change_28": {"type": "long", "null_value": DEFAULT_ES_INDEX_NULL}, "comments_trend_28": {"type": "float", "null_value": DEFAULT_ES_INDEX_NULL}, } }, "spotify": { "properties": { "streams": {"type": "long", "null_value": DEFAULT_ES_INDEX_NULL}, "streams_change_7": {"type": "long", "null_value": DEFAULT_ES_INDEX_NULL}, "streams_trend_7": {"type": "float", "null_value": DEFAULT_ES_INDEX_NULL}, "streams_change_28": {"type": "long", "null_value": DEFAULT_ES_INDEX_NULL}, "streams_trend_28": {"type": "float", "null_value": DEFAULT_ES_INDEX_NULL}, "popularity": {"type": "long", "null_value": DEFAULT_ES_INDEX_NULL}, "playlists": {"type": "long", "null_value": DEFAULT_ES_INDEX_NULL}, "playlists_change_7": {"type": "long", "null_value": DEFAULT_ES_INDEX_NULL}, "playlists_trend_7": {"type": "float", "null_value": DEFAULT_ES_INDEX_NULL}, "playlists_change_28": {"type": "long", "null_value": DEFAULT_ES_INDEX_NULL}, "playlists_trend_28": {"type": "float", "null_value": DEFAULT_ES_INDEX_NULL}, "monthly_listeners": {"type": "long", "null_value": DEFAULT_ES_INDEX_NULL}, "monthly_listeners_change_7": {"type": "long", "null_value": DEFAULT_ES_INDEX_NULL}, "monthly_listeners_trend_7": {"type": "float", "null_value": DEFAULT_ES_INDEX_NULL}, "monthly_listeners_change_28": {"type": "long", "null_value": DEFAULT_ES_INDEX_NULL}, "monthly_listeners_trend_28": {"type": "float", "null_value": DEFAULT_ES_INDEX_NULL}, } }, } } }