use serde::{Deserialize, Serialize};
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct DocumentGraphConfig {
pub enabled: bool,
pub min_keyword_jaccard: f32,
pub min_shared_keywords: usize,
pub max_keywords_per_doc: usize,
pub max_edges_per_node: usize,
pub retrieval_boost_factor: f32,
}
impl Default for DocumentGraphConfig {
fn default() -> Self {
Self {
enabled: true,
min_keyword_jaccard: 0.1,
min_shared_keywords: 2,
max_keywords_per_doc: 50,
max_edges_per_node: 20,
retrieval_boost_factor: 0.15,
}
}
}
impl DocumentGraphConfig {
pub fn new() -> Self {
Self::default()
}
pub fn disabled() -> Self {
Self {
enabled: false,
..Self::default()
}
}
}