mirror of
https://github.com/meilisearch/meilisearch.git
synced 2025-07-17 20:00:58 +00:00
Old dump import indexer: fix the case where going from Generated to Generated
This commit is contained in:
@ -726,21 +726,6 @@ fn extract_vector_document_diff(
|
|||||||
}
|
}
|
||||||
let has_fragments = !runtime.fragments().is_empty();
|
let has_fragments = !runtime.fragments().is_empty();
|
||||||
if has_fragments {
|
if has_fragments {
|
||||||
let prompt = &runtime.document_template;
|
|
||||||
// Don't give up if the old prompt was failing
|
|
||||||
let old_prompt = Some(&prompt).map(|p| {
|
|
||||||
p.render_kvdeladd(obkv, DelAdd::Deletion, old_fields_ids_map)
|
|
||||||
.unwrap_or_default()
|
|
||||||
});
|
|
||||||
let new_prompt =
|
|
||||||
prompt.render_kvdeladd(obkv, DelAdd::Addition, new_fields_ids_map)?;
|
|
||||||
if old_prompt.as_ref() != Some(&new_prompt) {
|
|
||||||
let old_prompt = old_prompt.unwrap_or_default();
|
|
||||||
tracing::trace!(
|
|
||||||
"🚀 Changing prompt from\n{old_prompt}\n===to===\n{new_prompt}"
|
|
||||||
);
|
|
||||||
VectorStateDelta::NowGenerated(new_prompt)
|
|
||||||
} else {
|
|
||||||
let mut fragment_diff = Vec::new();
|
let mut fragment_diff = Vec::new();
|
||||||
let old_fields_ids_map = old_fields_ids_map.as_fields_ids_map();
|
let old_fields_ids_map = old_fields_ids_map.as_fields_ids_map();
|
||||||
let new_fields_ids_map = new_fields_ids_map.as_fields_ids_map();
|
let new_fields_ids_map = new_fields_ids_map.as_fields_ids_map();
|
||||||
@ -769,11 +754,26 @@ fn extract_vector_document_diff(
|
|||||||
fragment_diff.push((name.clone(), diff));
|
fragment_diff.push((name.clone(), diff));
|
||||||
}
|
}
|
||||||
VectorStateDelta::UpdateGeneratedFromFragments(fragment_diff)
|
VectorStateDelta::UpdateGeneratedFromFragments(fragment_diff)
|
||||||
}
|
} else {
|
||||||
|
let prompt = &runtime.document_template;
|
||||||
|
// Don't give up if the old prompt was failing
|
||||||
|
let old_prompt = Some(&prompt).map(|p| {
|
||||||
|
p.render_kvdeladd(obkv, DelAdd::Deletion, old_fields_ids_map)
|
||||||
|
.unwrap_or_default()
|
||||||
|
});
|
||||||
|
let new_prompt =
|
||||||
|
prompt.render_kvdeladd(obkv, DelAdd::Addition, new_fields_ids_map)?;
|
||||||
|
if old_prompt.as_ref() != Some(&new_prompt) {
|
||||||
|
let old_prompt = old_prompt.unwrap_or_default();
|
||||||
|
tracing::trace!(
|
||||||
|
"🚀 Changing prompt from\n{old_prompt}\n===to===\n{new_prompt}"
|
||||||
|
);
|
||||||
|
VectorStateDelta::NowGenerated(new_prompt)
|
||||||
} else {
|
} else {
|
||||||
tracing::trace!("⏭️ Prompt unmodified, skipping");
|
tracing::trace!("⏭️ Prompt unmodified, skipping");
|
||||||
VectorStateDelta::NoChange
|
VectorStateDelta::NoChange
|
||||||
}
|
}
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
VectorStateDelta::NowRemoved
|
VectorStateDelta::NowRemoved
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user