pub mod detailed; use roaring::RoaringBitmap; use super::{query_graph, QueryGraph, RankingRule, RankingRuleQueryTrait}; pub struct DefaultSearchLogger; impl SearchLogger for DefaultSearchLogger { fn initial_query(&mut self, query: &Q) {} fn initial_universe(&mut self, universe: &RoaringBitmap) {} fn ranking_rules(&mut self, rr: &[Box>]) {} fn start_iteration_ranking_rule<'transaction>( &mut self, ranking_rule_idx: usize, ranking_rule: &dyn RankingRule<'transaction, Q>, query: &Q, universe: &RoaringBitmap, ) { } fn next_bucket_ranking_rule<'transaction>( &mut self, ranking_rule_idx: usize, ranking_rule: &dyn RankingRule<'transaction, Q>, universe: &RoaringBitmap, ) { } fn end_iteration_ranking_rule<'transaction>( &mut self, ranking_rule_idx: usize, ranking_rule: &dyn RankingRule<'transaction, Q>, universe: &RoaringBitmap, ) { } fn add_to_results(&mut self, docids: &RoaringBitmap) {} fn log_words_state(&mut self, query_graph: &Q) {} } pub trait SearchLogger { fn initial_query(&mut self, query: &Q); fn initial_universe(&mut self, universe: &RoaringBitmap); fn ranking_rules(&mut self, rr: &[Box>]); fn start_iteration_ranking_rule<'transaction>( &mut self, ranking_rule_idx: usize, ranking_rule: &dyn RankingRule<'transaction, Q>, query: &Q, universe: &RoaringBitmap, ); fn next_bucket_ranking_rule<'transaction>( &mut self, ranking_rule_idx: usize, ranking_rule: &dyn RankingRule<'transaction, Q>, universe: &RoaringBitmap, ); fn end_iteration_ranking_rule<'transaction>( &mut self, ranking_rule_idx: usize, ranking_rule: &dyn RankingRule<'transaction, Q>, universe: &RoaringBitmap, ); fn add_to_results(&mut self, docids: &RoaringBitmap); fn log_words_state(&mut self, query_graph: &Q); }