mirror of
https://github.com/meilisearch/MeiliSearch
synced 2025-07-04 04:17:10 +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,
|
||||
));
|
||||
|
||||
let ExportIndexSettings { skip_embeddings, filter } = settings;
|
||||
let ExportIndexSettings { filter } = settings;
|
||||
let index = self.index(uid)?;
|
||||
let index_rtxn = index.read_txn()?;
|
||||
|
||||
|
@ -131,7 +131,6 @@ impl IndexScheduler {
|
|||
.map_err(|e| Error::from_milli(e, Some(uid.to_string())))?;
|
||||
|
||||
// TODO definitely factorize this code
|
||||
if !*skip_embeddings {
|
||||
'inject_vectors: {
|
||||
let embeddings = index
|
||||
.embeddings(&index_rtxn, docid)
|
||||
|
@ -178,9 +177,7 @@ impl IndexScheduler {
|
|||
)),
|
||||
regenerate: !user_provided,
|
||||
};
|
||||
vectors
|
||||
.insert(embedder_name, serde_json::to_value(embeddings).unwrap());
|
||||
}
|
||||
vectors.insert(embedder_name, serde_json::to_value(embeddings).unwrap());
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -171,10 +171,9 @@ pub struct IndexSwap {
|
|||
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")]
|
||||
pub struct ExportIndexSettings {
|
||||
pub skip_embeddings: bool,
|
||||
pub filter: Option<String>,
|
||||
}
|
||||
|
||||
|
|
|
@ -72,16 +72,19 @@ async fn export(
|
|||
debug!(returns = ?export, "Trigger export");
|
||||
|
||||
let Export { url, api_key, indexes } = export;
|
||||
let task = KindWithContent::Export {
|
||||
url,
|
||||
api_key,
|
||||
indexes: indexes
|
||||
|
||||
let indexes = if indexes.is_empty() {
|
||||
BTreeMap::from([(IndexUidPattern::new_unchecked("*"), DbExportIndexSettings::default())])
|
||||
} else {
|
||||
indexes
|
||||
.into_iter()
|
||||
.map(|(pattern, ExportIndexSettings { skip_embeddings, filter })| {
|
||||
(pattern, DbExportIndexSettings { skip_embeddings, filter })
|
||||
.map(|(pattern, ExportIndexSettings { filter })| {
|
||||
(pattern, DbExportIndexSettings { filter })
|
||||
})
|
||||
.collect(),
|
||||
.collect()
|
||||
};
|
||||
|
||||
let task = KindWithContent::Export { url, api_key, indexes };
|
||||
let uid = get_task_id(&req, &opt)?;
|
||||
let dry_run = is_dry_run(&req, &opt)?;
|
||||
let task: SummarizedTaskView =
|
||||
|
@ -116,10 +119,6 @@ pub struct Export {
|
|||
#[serde(rename_all = "camelCase")]
|
||||
#[schema(rename_all = "camelCase")]
|
||||
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"))]
|
||||
#[serde(default)]
|
||||
#[deserr(default, error = DeserrJsonError<InvalidExportIndexFilter>)]
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue