Skip to content

Commit 4b169d4

Browse files
author
ajosh0504
committed
Showing only rank for hybrid search
1 parent c09b1e7 commit 4b169d4

File tree

2 files changed

+14
-16
lines changed

2 files changed

+14
-16
lines changed

apps/video-intelligence/backend/main.py

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -423,21 +423,19 @@ async def search_frames(query: SearchQuery):
423423
if not os.path.exists(thumbnail_path):
424424
thumbnail_path = result.get("file_path", "")
425425

426-
# For hybrid search, keep original score but add rank to metadata
427-
raw_score = round(result.get("similarity_score", 0.0), 3)
428-
metadata = result.get("metadata", {})
429-
426+
# For hybrid search, use rank as score; otherwise use actual similarity score
430427
if search_type == "hybrid":
431-
metadata["rank"] = index + 1 # Add rank for hybrid search
432-
metadata["search_type"] = "hybrid"
428+
display_score = index + 1 # Rank starts from 1
429+
else:
430+
display_score = round(result.get("similarity_score", 0.0), 3)
433431

434432
search_result = SearchResult(
435433
frame_number=result.get("frame_number", 0),
436434
timestamp=result.get("timestamp", 0.0),
437435
description=result.get("description", "No description available"),
438-
similarity_score=raw_score,
436+
similarity_score=display_score,
439437
thumbnail_path=thumbnail_path.replace(str(frames_dir), "/frames"),
440-
metadata=metadata,
438+
metadata=result.get("metadata", {}),
441439
)
442440
results.append(search_result)
443441

apps/video-intelligence/frontend/src/components/SearchResults.js

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -10,12 +10,12 @@ const SearchResults = ({ results, onFrameSelect, query }) => {
1010
return `${mins}:${secs.toString().padStart(2, '0')}`;
1111
};
1212

13-
const formatScore = (score, metadata) => {
14-
// Check if this is a hybrid search result (has rank in metadata)
15-
if (metadata && metadata.rank) {
16-
return `Rank #${metadata.rank} (Score: ${score.toFixed(3)})`;
13+
const formatScore = (score) => {
14+
// If score is a whole number (1, 2, 3, etc.), it's a rank from hybrid search
15+
if (Number.isInteger(score) && score > 0) {
16+
return score;
1717
}
18-
// Otherwise it's a similarity score only
18+
// Otherwise it's a similarity score
1919
return score.toFixed(3);
2020
};
2121

@@ -83,9 +83,9 @@ const SearchResults = ({ results, onFrameSelect, query }) => {
8383
{result.description}
8484
</div>
8585
<div className="result-score">
86-
{result.metadata && result.metadata.rank
87-
? formatScore(result.similarity_score, result.metadata)
88-
: `Similarity: ${formatScore(result.similarity_score, result.metadata)}`}
86+
{Number.isInteger(result.similarity_score) && result.similarity_score > 0
87+
? `Rank: ${formatScore(result.similarity_score)}`
88+
: `Similarity: ${formatScore(result.similarity_score)}`}
8989
</div>
9090
</div>
9191
</div>

0 commit comments

Comments
 (0)