Improve the visual/detailed search logger

This commit is contained in:
Loïc Lecrenier
2023-02-23 13:13:19 +01:00
parent 6ba4d5e987
commit 173e37584c
9 changed files with 192 additions and 24 deletions

View File

@ -47,8 +47,6 @@ impl<'transaction> RankingRule<'transaction, QueryGraph> for Words {
self.exhausted = false;
self.query_graph = Some(parent_query_graph.clone());
logger.log_words_state(parent_query_graph);
// TODO: a phrase can contain many positions, but represents a single node.
// That's a problem.
let positions_to_remove = match self.terms_matching_strategy {
@ -83,11 +81,14 @@ impl<'transaction> RankingRule<'transaction, QueryGraph> for Words {
// println!("Words: next bucket");
assert!(self.iterating);
assert!(universe.len() > 1);
if self.exhausted {
return Ok(None);
}
let Some(query_graph) = &mut self.query_graph else { panic!() };
logger.log_words_state(query_graph);
let this_bucket = resolve_query_graph(
index,
txn,
@ -107,7 +108,6 @@ impl<'transaction> RankingRule<'transaction, QueryGraph> for Words {
let position_to_remove = self.positions_to_remove.pop().unwrap();
query_graph.remove_words_at_position(position_to_remove);
}
logger.log_words_state(query_graph);
Ok(Some(RankingRuleOutput { query: child_query_graph, candidates: this_bucket }))
}