diff --git a/src/config/loader.rs b/src/config/loader.rs index 889fccd..ba42a97 100644 --- a/src/config/loader.rs +++ b/src/config/loader.rs @@ -11,6 +11,5 @@ pub fn load_config(config_path: &str) -> Config { eprintln!("Error loading config file: {}", e); } } - - return settings; + settings } diff --git a/src/search/engine.rs b/src/search/engine.rs index 0f66406..ef2e594 100644 --- a/src/search/engine.rs +++ b/src/search/engine.rs @@ -1,15 +1,10 @@ use bincode::{deserialize_from, serialize_into}; -use serde::{Deserialize, Serialize}; use std::collections::{BTreeMap, HashMap}; use std::f64; use std::fs::File; use std::io::{BufReader, BufWriter}; -#[derive(Serialize, Deserialize)] -struct SavedIndex { - index_btree_map: BTreeMap>, - documents_btree_map: BTreeMap, -} +use crate::types::index; fn update_url_scores(old: &mut HashMap, new: &HashMap) { for (url, score) in new { @@ -203,8 +198,6 @@ impl SearchEngine { .entry(url.to_string()) .or_insert(0) += 1; } - - // TODO: After updating the index self.write_index_to_disk(); } @@ -241,7 +234,7 @@ impl SearchEngine { let btree_index: BTreeMap<_, _> = index_hash_map.into_iter().collect(); let btree_documents: BTreeMap<_, _> = documents_hash_map.into_iter().collect(); - let data = SavedIndex { + let data = index::SavedIndex { index_btree_map: btree_index, documents_btree_map: btree_documents, }; @@ -258,9 +251,9 @@ impl SearchEngine { } } -fn get_index_from_disk() -> SavedIndex { +fn get_index_from_disk() -> index::SavedIndex { let file = File::open("/tmp/search.db"); - let mut data = SavedIndex { + let mut data = index::SavedIndex { documents_btree_map: BTreeMap::new(), index_btree_map: BTreeMap::new(), }; diff --git a/src/types/index.rs b/src/types/index.rs new file mode 100644 index 0000000..36afd3f --- /dev/null +++ b/src/types/index.rs @@ -0,0 +1,9 @@ +use std::collections::{BTreeMap, HashMap}; + +use serde::{Deserialize, Serialize}; + +#[derive(Serialize, Deserialize)] +pub struct SavedIndex { + pub index_btree_map: BTreeMap>, + pub documents_btree_map: BTreeMap, +} diff --git a/src/types/mod.rs b/src/types/mod.rs index af5e216..8625765 100644 --- a/src/types/mod.rs +++ b/src/types/mod.rs @@ -1,2 +1,3 @@ pub mod app_state; pub mod config; +pub mod index;