Skip to content
This repository was archived by the owner on Jan 2, 2025. It is now read-only.

Commit 9f1b7b3

Browse files
authored
Deduplicate after merging lexical results (#1161)
* deduplicate after merging lexical results * rework deduplication order
1 parent 0fb9b62 commit 9f1b7b3

File tree

1 file changed

+11
-3
lines changed

1 file changed

+11
-3
lines changed

server/bleep/src/semantic.rs

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -544,18 +544,26 @@ impl Semantic {
544544
.map(Payload::from_qdrant)
545545
.collect::<Vec<_>>()
546546
})?;
547-
let dedup_results = deduplicate_snippets(results, vector.clone(), limit);
547+
let results = deduplicate_snippets(results, vector.clone(), limit);
548+
548549
let results_lexical = self
549-
.search_lexical(parsed_query, vector.clone(), limit, offset, 0.0)
550+
.search_lexical(
551+
parsed_query,
552+
vector.clone(),
553+
if retrieve_more { limit * 2 } else { limit },
554+
offset,
555+
0.0,
556+
)
550557
.await
551558
.map(|raw| {
552559
raw.into_iter()
553560
.map(Payload::from_qdrant)
554561
.collect::<Vec<_>>()
555562
})?;
563+
let results_lexical = deduplicate_snippets(results_lexical, vector.clone(), limit);
556564
let results_lexical = Self::rank_lexical(results_lexical, &query);
557565

558-
let merged_results = Self::merge_rrf(results_lexical, dedup_results);
566+
let merged_results = Self::merge_rrf(results_lexical, results);
559567

560568
Ok(merged_results
561569
.iter()

0 commit comments

Comments
 (0)