mirror of
https://github.com/meilisearch/meilisearch.git
synced 2024-11-29 08:35:15 +08:00
Throw error when the vector search is sent with the wrong size
This commit is contained in:
parent
54f0ee1ed2
commit
8c649d8061
@ -434,7 +434,18 @@ pub fn execute_search(
|
|||||||
let mut search = Search::default();
|
let mut search = Search::default();
|
||||||
let docids = match ctx.index.vector_hnsw(ctx.txn)? {
|
let docids = match ctx.index.vector_hnsw(ctx.txn)? {
|
||||||
Some(hnsw) => {
|
Some(hnsw) => {
|
||||||
|
if let Some(expected_size) = hnsw.iter().map(|(_, point)| point.len()).next() {
|
||||||
|
if vector.len() != expected_size {
|
||||||
|
return Err(UserError::InvalidVectorDimensions {
|
||||||
|
expected: expected_size,
|
||||||
|
found: vector.len(),
|
||||||
|
}
|
||||||
|
.into());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
let vector = NDotProductPoint::new(vector.clone());
|
let vector = NDotProductPoint::new(vector.clone());
|
||||||
|
|
||||||
let neighbors = hnsw.search(&vector, &mut search);
|
let neighbors = hnsw.search(&vector, &mut search);
|
||||||
|
|
||||||
let mut docids = Vec::new();
|
let mut docids = Vec::new();
|
||||||
|
Loading…
Reference in New Issue
Block a user