diff --git a/backend/appsettings/index_mapping.json b/backend/appsettings/index_mapping.json index 3d0d3ad8..16bfea93 100644 --- a/backend/appsettings/index_mapping.json +++ b/backend/appsettings/index_mapping.json @@ -606,22 +606,6 @@ { "index_name": "subtitle", "expected_map": { - "youtube_id": { - "type": "keyword" - }, - "title": { - "type": "text", - "fields": { - "keyword": { - "type": "keyword", - "ignore_above": 256, - "normalizer": "to_lower" - } - } - }, - "subtitle_fragment_id": { - "type": "keyword" - }, "subtitle_channel": { "type": "text", "fields": { @@ -635,15 +619,11 @@ "subtitle_channel_id": { "type": "keyword" }, - "subtitle_start": { - "type": "text" - }, "subtitle_end": { "type": "text" }, - "subtitle_last_refresh": { - "type": "date", - "format": "epoch_second" + "subtitle_fragment_id": { + "type": "keyword" }, "subtitle_index": { "type": "long" @@ -651,12 +631,32 @@ "subtitle_lang": { "type": "keyword" }, - "subtitle_source": { - "type": "keyword" + "subtitle_last_refresh": { + "type": "date", + "format": "epoch_second" }, "subtitle_line": { "type": "text", "analyzer": "english" + }, + "subtitle_source": { + "type": "keyword" + }, + "subtitle_start": { + "type": "text" + }, + "title": { + "type": "text", + "fields": { + "keyword": { + "type": "keyword", + "ignore_above": 256, + "normalizer": "to_lower" + } + } + }, + "youtube_id": { + "type": "keyword" } }, "expected_set": { diff --git a/backend/video/serializers.py b/backend/video/serializers.py index 410a8ea8..c1b4ab03 100644 --- a/backend/video/serializers.py +++ b/backend/video/serializers.py @@ -65,18 +65,18 @@ class StreamItemSerializer(serializers.Serializer): class SubtitleFragmentSerializer(serializers.Serializer): """serialize subtitle fragment""" - subtitle_index = serializers.IntegerField() - subtitle_line = serializers.CharField() - subtitle_start = serializers.CharField() - subtitle_fragment_id = serializers.CharField() - subtitle_end = serializers.CharField() - youtube_id = serializers.CharField() - title = serializers.CharField() subtitle_channel = serializers.CharField() subtitle_channel_id = serializers.CharField() - subtitle_last_refresh = serializers.IntegerField() + subtitle_end = serializers.CharField() + subtitle_fragment_id = serializers.CharField() + subtitle_index = serializers.IntegerField() subtitle_lang = serializers.CharField() + subtitle_last_refresh = serializers.IntegerField() + subtitle_line = serializers.CharField() subtitle_source = serializers.ChoiceField(choices=["user", "auto"]) + subtitle_start = serializers.CharField() + title = serializers.CharField() + youtube_id = serializers.CharField() class SubtitleItemSerializer(serializers.Serializer): diff --git a/backend/video/src/subtitle.py b/backend/video/src/subtitle.py index a3c51566..1fdd0919 100644 --- a/backend/video/src/subtitle.py +++ b/backend/video/src/subtitle.py @@ -345,13 +345,13 @@ class SubtitleParser: documents = self._chunk_list(video.youtube_id) channel = video.json_data.get("channel") meta_dict = { - "youtube_id": video.youtube_id, - "title": video.json_data.get("title"), "subtitle_channel": channel.get("channel_name"), "subtitle_channel_id": channel.get("channel_id"), - "subtitle_last_refresh": int(datetime.now().timestamp()), "subtitle_lang": self.lang, + "subtitle_last_refresh": int(datetime.now().timestamp()), "subtitle_source": source, + "title": video.json_data.get("title"), + "youtube_id": video.youtube_id, } _ = [i.update(meta_dict) for i in documents]