From 448377ad5a7f27ce839f6db0a38c73d2549822ec Mon Sep 17 00:00:00 2001 From: ManyTheFish Date: Thu, 9 Oct 2025 17:53:56 +0200 Subject: [PATCH] Add local remote name when a remote federated search is made --- crates/meilisearch/src/search/federated/perform.rs | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/crates/meilisearch/src/search/federated/perform.rs b/crates/meilisearch/src/search/federated/perform.rs index d678a63c4..933d58270 100644 --- a/crates/meilisearch/src/search/federated/perform.rs +++ b/crates/meilisearch/src/search/federated/perform.rs @@ -156,12 +156,18 @@ pub async fn perform_federated_search( } } + // if there are remote results, set the local remote name + let local_remote_name = + (!remote_results.is_empty()).then_some(network.local.clone()).flatten(); + // 3.1.2 Build metadata in the same order as the original queries let mut query_metadata = Vec::new(); for (index_uid, remote) in precomputed_query_metadata { let primary_key = primary_key_per_index.get(&(remote.as_ref(), &index_uid)).map(|pk| pk.to_string()); let query_uid = Uuid::now_v7(); + // if the remote is not set, use the local remote name + let remote = remote.or_else(|| local_remote_name.clone()); query_metadata.push(SearchMetadata { query_uid, primary_key, index_uid, remote }); } Some(query_metadata)