mirror of
				https://github.com/meilisearch/meilisearch.git
				synced 2025-10-31 16:06:31 +00:00 
			
		
		
		
	Merge pull request #5573 from CodeMan62/fix-5555
Only intern in case of typo when looking for one or two typoes
This commit is contained in:
		| @@ -131,10 +131,11 @@ fn find_one_two_typo_derivations( | |||||||
|  |  | ||||||
|     while let Some((derived_word, state)) = stream.next() { |     while let Some((derived_word, state)) = stream.next() { | ||||||
|         let derived_word = std::str::from_utf8(derived_word)?; |         let derived_word = std::str::from_utf8(derived_word)?; | ||||||
|         let derived_word_interned = word_interner.insert(derived_word.to_owned()); |         // No need to intern here | ||||||
|         // in the case the typo is on the first letter, we know the number of typo |         // in the case the typo is on the first letter, we know the number of typo | ||||||
|         // is two |         // is two | ||||||
|         if get_first(derived_word) != get_first(word) { |         if get_first(derived_word) != get_first(word) { | ||||||
|  |             let derived_word_interned = word_interner.insert(derived_word.to_owned()); | ||||||
|             let cf = visit(derived_word_interned, NumberOfTypos::Two)?; |             let cf = visit(derived_word_interned, NumberOfTypos::Two)?; | ||||||
|             if cf.is_break() { |             if cf.is_break() { | ||||||
|                 break; |                 break; | ||||||
| @@ -146,12 +147,14 @@ fn find_one_two_typo_derivations( | |||||||
|             match d.to_u8() { |             match d.to_u8() { | ||||||
|                 0 => (), |                 0 => (), | ||||||
|                 1 => { |                 1 => { | ||||||
|  |                     let derived_word_interned = word_interner.insert(derived_word.to_owned()); | ||||||
|                     let cf = visit(derived_word_interned, NumberOfTypos::One)?; |                     let cf = visit(derived_word_interned, NumberOfTypos::One)?; | ||||||
|                     if cf.is_break() { |                     if cf.is_break() { | ||||||
|                         break; |                         break; | ||||||
|                     } |                     } | ||||||
|                 } |                 } | ||||||
|                 2 => { |                 2 => { | ||||||
|  |                     let derived_word_interned = word_interner.insert(derived_word.to_owned()); | ||||||
|                     let cf = visit(derived_word_interned, NumberOfTypos::Two)?; |                     let cf = visit(derived_word_interned, NumberOfTypos::Two)?; | ||||||
|                     if cf.is_break() { |                     if cf.is_break() { | ||||||
|                         break; |                         break; | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user