milli_core/update/
indexer_config.rs1use grenad::CompressionType;
2
3use super::GrenadParameters;
4use crate::thread_pool_no_abort::ThreadPoolNoAbort;
5
6#[derive(Debug)]
7pub struct IndexerConfig {
8 pub log_every_n: Option<usize>,
9 pub max_nb_chunks: Option<usize>,
10 pub documents_chunk_size: Option<usize>,
11 pub max_memory: Option<usize>,
12 pub chunk_compression_type: CompressionType,
13 pub chunk_compression_level: Option<u32>,
14 pub thread_pool: Option<ThreadPoolNoAbort>,
15 pub max_positions_per_attributes: Option<u32>,
16 pub skip_index_budget: bool,
17}
18
19impl IndexerConfig {
20 pub fn grenad_parameters(&self) -> GrenadParameters {
21 GrenadParameters {
22 chunk_compression_type: self.chunk_compression_type,
23 chunk_compression_level: self.chunk_compression_level,
24 max_memory: self.max_memory,
25 max_nb_chunks: self.max_nb_chunks,
26 }
27 }
28}
29
30impl Default for IndexerConfig {
31 fn default() -> Self {
32 Self {
33 log_every_n: None,
34 max_nb_chunks: None,
35 documents_chunk_size: None,
36 max_memory: None,
37 chunk_compression_type: CompressionType::None,
38 chunk_compression_level: None,
39 thread_pool: None,
40 max_positions_per_attributes: None,
41 skip_index_budget: false,
42 }
43 }
44}