Don't fail if you cannot render previous version

This commit is contained in:
Louis Dureuil 2025-06-12 15:55:33 +02:00
parent 209c4bfc18
commit 68e7bfb37f
No known key found for this signature in database

View File

@ -175,16 +175,6 @@ impl<'extractor> Extractor<'extractor> for EmbeddingExtractor<'_, '_> {
} }
} }
} else if old_vectors.regenerate { } else if old_vectors.regenerate {
let old_rendered = prompt.render_document(
update.external_document_id(),
update.current(
&context.rtxn,
context.index,
context.db_fields_ids_map,
)?,
context.new_fields_ids_map,
&context.doc_alloc,
)?;
let new_rendered = prompt.render_document( let new_rendered = prompt.render_document(
update.external_document_id(), update.external_document_id(),
update.merged( update.merged(
@ -195,7 +185,28 @@ impl<'extractor> Extractor<'extractor> for EmbeddingExtractor<'_, '_> {
context.new_fields_ids_map, context.new_fields_ids_map,
&context.doc_alloc, &context.doc_alloc,
)?; )?;
if new_rendered != old_rendered {
let must_regenerate = {
let old_rendered = prompt.render_document(
update.external_document_id(),
update.current(
&context.rtxn,
context.index,
context.db_fields_ids_map,
)?,
context.new_fields_ids_map,
&context.doc_alloc,
);
if let Ok(old_rendered) = old_rendered {
// regenerate if the rendered version changed
new_rendered != old_rendered
} else {
// if we cannot render the previous version of the documents, let's regenerate
true
}
};
if must_regenerate {
chunks.set_autogenerated( chunks.set_autogenerated(
update.docid(), update.docid(),
update.external_document_id(), update.external_document_id(),