From dd368ec471cb7202bf8f2622790e81e1ec5dec6d Mon Sep 17 00:00:00 2001 From: mhdzumair Date: Sun, 2 Mar 2025 22:06:42 +0530 Subject: [PATCH] refactor: remove total_streams filter and simplify text index in models to improve searching accuracy --- db/crud.py | 1 - db/models.py | 5 +---- ...20250302212247_reset_title_search_index.py | 22 +++++++++++++++++++ 3 files changed, 23 insertions(+), 5 deletions(-) create mode 100644 migrations/20250302212247_reset_title_search_index.py diff --git a/db/crud.py b/db/crud.py index 1ae760c..db76aa8 100644 --- a/db/crud.py +++ b/db/crud.py @@ -1109,7 +1109,6 @@ async def process_search_query( "$caseSensitive": False, }, "type": catalog_type, - "total_streams": {"$gt": 0}, } filter_conditions = [] diff --git a/db/models.py b/db/models.py index 87b68a3..e34bc63 100644 --- a/db/models.py +++ b/db/models.py @@ -73,10 +73,7 @@ class MediaFusionMetaData(Document): [("title", ASCENDING), ("year", ASCENDING), ("type", ASCENDING)], unique=False, ), - IndexModel( - [("title", TEXT), ("aka_titles", TEXT)], - weights={"title": 10, "aka_titles": 5}, # Prioritize main title matches - ), + IndexModel([("title", TEXT)]), IndexModel([("year", ASCENDING), ("end_year", ASCENDING)]), IndexModel([("_class_id", ASCENDING)]), IndexModel([("type", ASCENDING), ("genres", ASCENDING)]), diff --git a/migrations/20250302212247_reset_title_search_index.py b/migrations/20250302212247_reset_title_search_index.py new file mode 100644 index 0000000..5244da2 --- /dev/null +++ b/migrations/20250302212247_reset_title_search_index.py @@ -0,0 +1,22 @@ +from beanie import Document, free_fall_migration + + +class MediaFusionMetaData(Document): + id: str + + class Settings: + name = "MediaFusionMetaData" + + +class Forward: + @free_fall_migration(document_models=[MediaFusionMetaData]) + async def update_text_index(self, session): + """Update text index to use only title field for better search relevance""" + metadata_collection = MediaFusionMetaData.get_motor_collection() + # drop index "title_text_aka_titles_text" + await metadata_collection.drop_index("title_text_aka_titles_text") + + print("title_text_aka_titles_text Index dropped successfully.") + + +class Backward: ...