diff --git a/meilisearch-core/src/database.rs b/meilisearch-core/src/database.rs index da8d44d6a..53faacb50 100644 --- a/meilisearch-core/src/database.rs +++ b/meilisearch-core/src/database.rs @@ -882,6 +882,7 @@ mod tests { // even try to search for a document let reader = db.main_read_txn().unwrap(); + println!("here"); let SortResult {documents, .. } = index.query_builder().query(&reader, Some("21 "), 0..20).unwrap(); assert_matches!(documents.len(), 1); diff --git a/meilisearch-core/src/query_tree.rs b/meilisearch-core/src/query_tree.rs index d9473f301..9ecd38f0f 100644 --- a/meilisearch-core/src/query_tree.rs +++ b/meilisearch-core/src/query_tree.rs @@ -181,26 +181,9 @@ fn split_query_string<'a, A: AsRef<[u8]>>(s: &str, stop_words: &'a fst::Set) analyzer .analyze(s) .tokens() - .scan((0, false), |(offset, is_hard_sep), mut token| { - match token.kind { - TokenKind::Word | TokenKind::StopWord | TokenKind::Any => { - if *is_hard_sep { - *offset += 8; - } else { - *offset += 1; - } - *is_hard_sep = false; - token.char_index += *offset; - } - TokenKind::Separator(SeparatorKind::Hard) => { - *is_hard_sep = true; - } - _ => (), - } - Some((*offset, token)) - }) - .filter(|(_, t)| t.is_word()) - .map(|(i, Token { word, .. })| (i, word.to_string())) + .filter(|t| t.is_word()) + .map(| Token { word, .. }| word.to_string()) + .enumerate() .collect() } diff --git a/meilisearch-core/src/raw_indexer.rs b/meilisearch-core/src/raw_indexer.rs index fd8a68a43..a6bff7f0c 100644 --- a/meilisearch-core/src/raw_indexer.rs +++ b/meilisearch-core/src/raw_indexer.rs @@ -55,13 +55,13 @@ where .scan((0, false), |(offset, is_hard_sep), mut token| { match token.kind { TokenKind::Word => { + token.char_index += *offset; if *is_hard_sep { *offset += 8; } else { *offset += 1; } *is_hard_sep = false; - token.char_index += *offset; } TokenKind::Separator(SeparatorKind::Hard) => { *is_hard_sep = true; @@ -110,13 +110,13 @@ where .scan((0, false), |(offset, is_hard_sep), mut token| { match token.kind { TokenKind::Word | TokenKind::StopWord | TokenKind::Any => { + token.char_index += *offset; if *is_hard_sep { *offset += 8; } else { *offset += 1; } *is_hard_sep = false; - token.char_index += *offset; } TokenKind::Separator(SeparatorKind::Hard) => { *is_hard_sep = true;