mirror of
				https://github.com/meilisearch/meilisearch.git
				synced 2025-11-04 09:56:28 +00:00 
			
		
		
		
	Update Facets indexing to be compatible with new database structure
This commit is contained in:
		
				
					committed by
					
						
						Loïc Lecrenier
					
				
			
			
				
	
			
			
			
						parent
						
							c3f49f766d
						
					
				
				
					commit
					7913d6365c
				
			@@ -34,6 +34,7 @@ use self::helpers::{grenad_obkv_into_chunks, GrenadParameters};
 | 
			
		||||
pub use self::transform::{Transform, TransformOutput};
 | 
			
		||||
use crate::documents::{obkv_to_object, DocumentsBatchReader};
 | 
			
		||||
use crate::error::UserError;
 | 
			
		||||
use crate::heed_codec::facet::new::{FacetKeyCodec, MyByteSlice};
 | 
			
		||||
pub use crate::update::index_documents::helpers::CursorClonableMmap;
 | 
			
		||||
use crate::update::{
 | 
			
		||||
    self, Facets, IndexerConfig, PrefixWordPairsProximityDocids, UpdateIndexingStep,
 | 
			
		||||
@@ -431,16 +432,21 @@ where
 | 
			
		||||
        let mut databases_seen = MERGED_DATABASE_COUNT;
 | 
			
		||||
 | 
			
		||||
        // Run the facets update operation.
 | 
			
		||||
        let mut builder = Facets::new(self.wtxn, self.index);
 | 
			
		||||
        builder.chunk_compression_type = self.indexer_config.chunk_compression_type;
 | 
			
		||||
        builder.chunk_compression_level = self.indexer_config.chunk_compression_level;
 | 
			
		||||
        if let Some(value) = self.config.facet_level_group_size {
 | 
			
		||||
            builder.level_group_size(value);
 | 
			
		||||
        for facet_db in [
 | 
			
		||||
            (&self.index.facet_id_string_docids).remap_key_type::<FacetKeyCodec<MyByteSlice>>(),
 | 
			
		||||
            (&self.index.facet_id_f64_docids).remap_key_type::<FacetKeyCodec<MyByteSlice>>(),
 | 
			
		||||
        ] {
 | 
			
		||||
            let mut builder = Facets::new(self.index, facet_db);
 | 
			
		||||
            builder.chunk_compression_type = self.indexer_config.chunk_compression_type;
 | 
			
		||||
            builder.chunk_compression_level = self.indexer_config.chunk_compression_level;
 | 
			
		||||
            if let Some(value) = self.config.facet_level_group_size {
 | 
			
		||||
                builder.level_group_size(value);
 | 
			
		||||
            }
 | 
			
		||||
            if let Some(value) = self.config.facet_min_level_size {
 | 
			
		||||
                builder.min_level_size(value);
 | 
			
		||||
            }
 | 
			
		||||
            builder.execute(self.wtxn)?;
 | 
			
		||||
        }
 | 
			
		||||
        if let Some(value) = self.config.facet_min_level_size {
 | 
			
		||||
            builder.min_level_size(value);
 | 
			
		||||
        }
 | 
			
		||||
        builder.execute()?;
 | 
			
		||||
 | 
			
		||||
        databases_seen += 1;
 | 
			
		||||
        (self.progress)(UpdateIndexingStep::MergeDataIntoFinalDatabase {
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user