diff --git a/crates/meilisearch/src/search/mod.rs b/crates/meilisearch/src/search/mod.rs index c681a11a5..bb406aed9 100644 --- a/crates/meilisearch/src/search/mod.rs +++ b/crates/meilisearch/src/search/mod.rs @@ -1020,7 +1020,7 @@ pub fn prepare_search<'t>( .map_err(milli::Error::from)? } }; - search.semantic_auto_embedded( + search.semantic( embedder_name.clone(), embedder.clone(), *quantized, diff --git a/crates/meilisearch/tests/search/hybrid.rs b/crates/meilisearch/tests/search/hybrid.rs index 172242e47..b2970f233 100644 --- a/crates/meilisearch/tests/search/hybrid.rs +++ b/crates/meilisearch/tests/search/hybrid.rs @@ -201,6 +201,10 @@ async fn simple_search() { } ], "query": "Captain", + "queryVector": [ + 1.0, + 1.0 + ], "processingTimeMs": "[duration]", "limit": 20, "offset": 0, @@ -272,6 +276,10 @@ async fn simple_search() { } ], "query": "Captain", + "queryVector": [ + 1.0, + 1.0 + ], "processingTimeMs": "[duration]", "limit": 20, "offset": 0, @@ -343,6 +351,10 @@ async fn simple_search() { } ], "query": "Captain", + "queryVector": [ + 1.0, + 1.0 + ], "processingTimeMs": "[duration]", "limit": 20, "offset": 0, diff --git a/crates/milli/src/search/hybrid.rs b/crates/milli/src/search/hybrid.rs index 75ac547b4..c4d440043 100644 --- a/crates/milli/src/search/hybrid.rs +++ b/crates/milli/src/search/hybrid.rs @@ -234,7 +234,6 @@ impl Search<'_> { // no embedder, no semantic search let Some(SemanticSearch { vector, - mut auto_embedded, embedder_name, embedder, quantized, @@ -262,10 +261,7 @@ impl Search<'_> { let deadline = std::time::Instant::now() + std::time::Duration::from_secs(3); match embedder.embed_search(query, Some(deadline)) { - Ok(embedding) => { - auto_embedded = true; - embedding - } + Ok(embedding) => embedding, Err(error) => { tracing::error!(error=%error, "Embedding failed"); return Ok(return_keyword_results( @@ -280,7 +276,6 @@ impl Search<'_> { search.semantic = Some(SemanticSearch { vector: Some(vector_query.clone()), - auto_embedded, embedder_name, embedder, quantized, diff --git a/crates/milli/src/search/mod.rs b/crates/milli/src/search/mod.rs index e7871031b..155a0ecf7 100644 --- a/crates/milli/src/search/mod.rs +++ b/crates/milli/src/search/mod.rs @@ -33,7 +33,6 @@ pub mod similar; #[derive(Debug, Clone)] pub struct SemanticSearch { vector: Option>, - auto_embedded: bool, media: Option, embedder_name: String, embedder: Arc, @@ -105,26 +104,6 @@ impl<'a> Search<'a> { ) -> &mut Search<'a> { self.semantic = Some(SemanticSearch { embedder_name, - auto_embedded: false, - embedder, - quantized, - vector, - media, - }); - self - } - - pub fn semantic_auto_embedded( - &mut self, - embedder_name: String, - embedder: Arc, - quantized: bool, - vector: Option, - media: Option, - ) -> &mut Search<'a> { - self.semantic = Some(SemanticSearch { - embedder_name, - auto_embedded: true, embedder, quantized, vector, @@ -278,13 +257,12 @@ impl<'a> Search<'a> { } = match self.semantic.as_ref() { Some(SemanticSearch { vector: Some(vector), - auto_embedded, embedder_name, embedder, quantized, media: _, }) => { - if *auto_embedded && self.retrieve_vectors { + if self.retrieve_vectors { query_vector = Some(vector.clone()); } execute_vector_search(