feat: schema tracking, SHA256 integrity, identity UUID fix, 3-angle face match, cuts table, trace stranger_id
This commit is contained in:
@@ -159,6 +159,18 @@ pub async fn universal_search(
|
||||
results.extend(person_results);
|
||||
}
|
||||
|
||||
// Deduplicate by chunk_id / frame_number / person_id
|
||||
{
|
||||
let mut seen_chunks = std::collections::HashSet::new();
|
||||
let mut seen_frames = std::collections::HashSet::new();
|
||||
let mut seen_persons = std::collections::HashSet::new();
|
||||
results.retain(|r| match r {
|
||||
SearchResult::Chunk { chunk_id, .. } => seen_chunks.insert(chunk_id.clone()),
|
||||
SearchResult::Frame { frame_number, .. } => seen_frames.insert(*frame_number),
|
||||
SearchResult::Person { person_id, .. } => seen_persons.insert(person_id.clone()),
|
||||
});
|
||||
}
|
||||
|
||||
// Sort by score descending
|
||||
results.sort_by(|a, b| {
|
||||
let score_a = match a {
|
||||
|
||||
Reference in New Issue
Block a user