mirror of
https://github.com/meilisearch/MeiliSearch
synced 2025-07-03 20:07:09 +02:00
Support no pattern when exporting
This commit is contained in:
parent
bc08cd0deb
commit
3329248a84
3 changed files with 54 additions and 59 deletions
|
@ -54,7 +54,7 @@ impl IndexScheduler {
|
||||||
indexes.len() as u32,
|
indexes.len() as u32,
|
||||||
));
|
));
|
||||||
|
|
||||||
let ExportIndexSettings { skip_embeddings, filter } = settings;
|
let ExportIndexSettings { filter } = settings;
|
||||||
let index = self.index(uid)?;
|
let index = self.index(uid)?;
|
||||||
let index_rtxn = index.read_txn()?;
|
let index_rtxn = index.read_txn()?;
|
||||||
|
|
||||||
|
@ -131,7 +131,6 @@ impl IndexScheduler {
|
||||||
.map_err(|e| Error::from_milli(e, Some(uid.to_string())))?;
|
.map_err(|e| Error::from_milli(e, Some(uid.to_string())))?;
|
||||||
|
|
||||||
// TODO definitely factorize this code
|
// TODO definitely factorize this code
|
||||||
if !*skip_embeddings {
|
|
||||||
'inject_vectors: {
|
'inject_vectors: {
|
||||||
let embeddings = index
|
let embeddings = index
|
||||||
.embeddings(&index_rtxn, docid)
|
.embeddings(&index_rtxn, docid)
|
||||||
|
@ -178,9 +177,7 @@ impl IndexScheduler {
|
||||||
)),
|
)),
|
||||||
regenerate: !user_provided,
|
regenerate: !user_provided,
|
||||||
};
|
};
|
||||||
vectors
|
vectors.insert(embedder_name, serde_json::to_value(embeddings).unwrap());
|
||||||
.insert(embedder_name, serde_json::to_value(embeddings).unwrap());
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -171,10 +171,9 @@ pub struct IndexSwap {
|
||||||
pub indexes: (String, String),
|
pub indexes: (String, String),
|
||||||
}
|
}
|
||||||
|
|
||||||
#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize, ToSchema)]
|
#[derive(Debug, Default, Clone, PartialEq, Eq, Serialize, Deserialize, ToSchema)]
|
||||||
#[serde(rename_all = "camelCase")]
|
#[serde(rename_all = "camelCase")]
|
||||||
pub struct ExportIndexSettings {
|
pub struct ExportIndexSettings {
|
||||||
pub skip_embeddings: bool,
|
|
||||||
pub filter: Option<String>,
|
pub filter: Option<String>,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -72,16 +72,19 @@ async fn export(
|
||||||
debug!(returns = ?export, "Trigger export");
|
debug!(returns = ?export, "Trigger export");
|
||||||
|
|
||||||
let Export { url, api_key, indexes } = export;
|
let Export { url, api_key, indexes } = export;
|
||||||
let task = KindWithContent::Export {
|
|
||||||
url,
|
let indexes = if indexes.is_empty() {
|
||||||
api_key,
|
BTreeMap::from([(IndexUidPattern::new_unchecked("*"), DbExportIndexSettings::default())])
|
||||||
indexes: indexes
|
} else {
|
||||||
|
indexes
|
||||||
.into_iter()
|
.into_iter()
|
||||||
.map(|(pattern, ExportIndexSettings { skip_embeddings, filter })| {
|
.map(|(pattern, ExportIndexSettings { filter })| {
|
||||||
(pattern, DbExportIndexSettings { skip_embeddings, filter })
|
(pattern, DbExportIndexSettings { filter })
|
||||||
})
|
})
|
||||||
.collect(),
|
.collect()
|
||||||
};
|
};
|
||||||
|
|
||||||
|
let task = KindWithContent::Export { url, api_key, indexes };
|
||||||
let uid = get_task_id(&req, &opt)?;
|
let uid = get_task_id(&req, &opt)?;
|
||||||
let dry_run = is_dry_run(&req, &opt)?;
|
let dry_run = is_dry_run(&req, &opt)?;
|
||||||
let task: SummarizedTaskView =
|
let task: SummarizedTaskView =
|
||||||
|
@ -116,10 +119,6 @@ pub struct Export {
|
||||||
#[serde(rename_all = "camelCase")]
|
#[serde(rename_all = "camelCase")]
|
||||||
#[schema(rename_all = "camelCase")]
|
#[schema(rename_all = "camelCase")]
|
||||||
pub struct ExportIndexSettings {
|
pub struct ExportIndexSettings {
|
||||||
#[schema(value_type = Option<bool>, example = json!("true"))]
|
|
||||||
#[serde(default)]
|
|
||||||
#[deserr(default, error = DeserrJsonError<InvalidExportIndexSkipEmbeddings>)]
|
|
||||||
pub skip_embeddings: bool,
|
|
||||||
#[schema(value_type = Option<String>, example = json!("genres = action"))]
|
#[schema(value_type = Option<String>, example = json!("genres = action"))]
|
||||||
#[serde(default)]
|
#[serde(default)]
|
||||||
#[deserr(default, error = DeserrJsonError<InvalidExportIndexFilter>)]
|
#[deserr(default, error = DeserrJsonError<InvalidExportIndexFilter>)]
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue