Skip to content

Commit e43c88e

Browse files
committed
Fix Python vector search dirty data handling and missing import
- Add missing import for voyage_ai_available function - Add conditional projection to handle non-integer year values (e.g., '1994è1998') - Return None for invalid year data instead of causing validation errors
1 parent 52a7468 commit e43c88e

1 file changed

Lines changed: 13 additions & 2 deletions

File tree

server/python/src/routers/movies.py

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
from fastapi import APIRouter, Query, Path, Body
2-
from src.database.mongo_client import db, get_collection
2+
from src.database.mongo_client import db, get_collection, voyage_ai_available
33
from src.models.models import VectorSearchResult, CreateMovieRequest, Movie, MovieFilter, SuccessResponse, UpdateMovieRequest, SearchMoviesResponse, BatchUpdateRequest, BatchDeleteRequest
44

55
from typing import List
@@ -341,7 +341,18 @@ async def vector_search_movies(
341341
"title": 1,
342342
"plot": 1,
343343
"poster": 1,
344-
"year": 1,
344+
"year": {
345+
"$cond": {
346+
"if": {
347+
"$and": [
348+
{"$ne": ["$year", None]},
349+
{"$eq": [{"$type": "$year"}, "int"]}
350+
]
351+
},
352+
"then": "$year",
353+
"else": None
354+
}
355+
},
345356
"genres": 1,
346357
"directors": 1,
347358
"cast": 1,

0 commit comments

Comments
 (0)