mirror of
https://github.com/meilisearch/MeiliSearch
synced 2024-12-22 12:40:04 +01:00
Fix facet fst
This commit is contained in:
parent
18ce95dcbf
commit
961de4d34e
@ -103,6 +103,8 @@ impl<'indexer> FacetSearchBuilder<'indexer> {
|
|||||||
|
|
||||||
#[tracing::instrument(level = "trace", skip_all, target = "indexing::facet_fst")]
|
#[tracing::instrument(level = "trace", skip_all, target = "indexing::facet_fst")]
|
||||||
pub fn merge_and_write(self, index: &Index, wtxn: &mut RwTxn, rtxn: &RoTxn) -> Result<()> {
|
pub fn merge_and_write(self, index: &Index, wtxn: &mut RwTxn, rtxn: &RoTxn) -> Result<()> {
|
||||||
|
tracing::trace!("merge facet strings for facet search: {:?}", self.registered_facets);
|
||||||
|
|
||||||
let reader = self.normalized_facet_string_docids_sorter.into_reader_cursors()?;
|
let reader = self.normalized_facet_string_docids_sorter.into_reader_cursors()?;
|
||||||
let mut builder = grenad::MergerBuilder::new(MergeDeladdBtreesetString);
|
let mut builder = grenad::MergerBuilder::new(MergeDeladdBtreesetString);
|
||||||
builder.extend(reader);
|
builder.extend(reader);
|
||||||
@ -118,12 +120,15 @@ impl<'indexer> FacetSearchBuilder<'indexer> {
|
|||||||
BEU16StrCodec::bytes_decode(key).map_err(heed::Error::Encoding)?;
|
BEU16StrCodec::bytes_decode(key).map_err(heed::Error::Encoding)?;
|
||||||
|
|
||||||
if current_field_id != Some(field_id) {
|
if current_field_id != Some(field_id) {
|
||||||
if let Some(fst_merger_builder) = fst_merger_builder {
|
if let (Some(current_field_id), Some(fst_merger_builder)) =
|
||||||
|
(current_field_id, fst_merger_builder)
|
||||||
|
{
|
||||||
let mmap = fst_merger_builder.build(&mut callback)?;
|
let mmap = fst_merger_builder.build(&mut callback)?;
|
||||||
index
|
index.facet_id_string_fst.remap_data_type::<Bytes>().put(
|
||||||
.facet_id_string_fst
|
wtxn,
|
||||||
.remap_data_type::<Bytes>()
|
¤t_field_id,
|
||||||
.put(wtxn, &field_id, &mmap)?;
|
&mmap,
|
||||||
|
)?;
|
||||||
}
|
}
|
||||||
|
|
||||||
fst = index.facet_id_string_fst.get(rtxn, &field_id)?;
|
fst = index.facet_id_string_fst.get(rtxn, &field_id)?;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user