mirror of
https://github.com/meilisearch/MeiliSearch
synced 2024-11-23 13:24:27 +01:00
recompute all facets during document addition
This commit is contained in:
parent
33bfcbeba7
commit
fabb1985ca
@ -212,11 +212,6 @@ pub fn apply_addition<'a, 'b>(
|
|||||||
|
|
||||||
let stop_words = index.main.stop_words_fst(writer)?.map_data(Cow::into_owned)?;
|
let stop_words = index.main.stop_words_fst(writer)?.map_data(Cow::into_owned)?;
|
||||||
|
|
||||||
// 3. index the documents fields in the stores
|
|
||||||
if let Some(attributes_for_facetting) = index.main.attributes_for_faceting(writer)? {
|
|
||||||
let facet_map = facets::facet_map_from_docs(&schema, &documents_additions, attributes_for_facetting.as_ref())?;
|
|
||||||
index.facets.add(writer, facet_map)?;
|
|
||||||
}
|
|
||||||
|
|
||||||
let mut indexer = RawIndexer::new(stop_words);
|
let mut indexer = RawIndexer::new(stop_words);
|
||||||
|
|
||||||
@ -254,6 +249,13 @@ pub fn apply_addition<'a, 'b>(
|
|||||||
index.main.merge_external_docids(writer, &new_external_docids)?;
|
index.main.merge_external_docids(writer, &new_external_docids)?;
|
||||||
index.main.merge_internal_docids(writer, &new_internal_docids)?;
|
index.main.merge_internal_docids(writer, &new_internal_docids)?;
|
||||||
|
|
||||||
|
// recompute all facet attributes after document update.
|
||||||
|
if let Some(attributes_for_facetting) = index.main.attributes_for_faceting(writer)? {
|
||||||
|
let docids = index.main.internal_docids(writer)?;
|
||||||
|
let facet_map = facets::facet_map_from_docids(writer, index, &docids, attributes_for_facetting.as_ref())?;
|
||||||
|
index.facets.add(writer, facet_map)?;
|
||||||
|
}
|
||||||
|
|
||||||
Ok(())
|
Ok(())
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -344,6 +346,13 @@ pub fn reindex_all_documents(writer: &mut heed::RwTxn<MainT>, index: &store::Ind
|
|||||||
|
|
||||||
index.main.put_schema(writer, &schema)?;
|
index.main.put_schema(writer, &schema)?;
|
||||||
|
|
||||||
|
// recompute all facet attributes after document update.
|
||||||
|
if let Some(attributes_for_facetting) = index.main.attributes_for_faceting(writer)? {
|
||||||
|
let docids = index.main.internal_docids(writer)?;
|
||||||
|
let facet_map = facets::facet_map_from_docids(writer, index, &docids, attributes_for_facetting.as_ref())?;
|
||||||
|
index.facets.add(writer, facet_map)?;
|
||||||
|
}
|
||||||
|
|
||||||
Ok(())
|
Ok(())
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user