mirror of
				https://github.com/meilisearch/meilisearch.git
				synced 2025-10-31 16:06:31 +00:00 
			
		
		
		
	add exact_word_prefix to Context
This commit is contained in:
		| @@ -70,6 +70,7 @@ pub trait Context<'c> { | ||||
|     fn word_docids(&self, word: &str) -> heed::Result<Option<RoaringBitmap>>; | ||||
|     fn exact_word_docids(&self, word: &str) -> heed::Result<Option<RoaringBitmap>>; | ||||
|     fn word_prefix_docids(&self, word: &str) -> heed::Result<Option<RoaringBitmap>>; | ||||
|     fn exact_word_prefix_docids(&self, word: &str) -> heed::Result<Option<RoaringBitmap>>; | ||||
|     fn word_pair_proximity_docids( | ||||
|         &self, | ||||
|         left: &str, | ||||
| @@ -127,6 +128,10 @@ impl<'c> Context<'c> for CriteriaBuilder<'c> { | ||||
|         self.index.word_prefix_docids.get(self.rtxn, &word) | ||||
|     } | ||||
|  | ||||
|     fn exact_word_prefix_docids(&self, word: &str) -> heed::Result<Option<RoaringBitmap>> { | ||||
|         self.index.exact_word_prefix_docids.get(self.rtxn, &word) | ||||
|     } | ||||
|  | ||||
|     fn word_pair_proximity_docids( | ||||
|         &self, | ||||
|         left: &str, | ||||
| @@ -522,6 +527,7 @@ pub mod test { | ||||
|         word_docids: HashMap<String, RoaringBitmap>, | ||||
|         exact_word_docids: HashMap<String, RoaringBitmap>, | ||||
|         word_prefix_docids: HashMap<String, RoaringBitmap>, | ||||
|         exact_word_prefix_docids: HashMap<String, RoaringBitmap>, | ||||
|         word_pair_proximity_docids: HashMap<(String, String, i32), RoaringBitmap>, | ||||
|         word_prefix_pair_proximity_docids: HashMap<(String, String, i32), RoaringBitmap>, | ||||
|         docid_words: HashMap<u32, Vec<String>>, | ||||
| @@ -544,6 +550,10 @@ pub mod test { | ||||
|             Ok(self.word_prefix_docids.get(&word.to_string()).cloned()) | ||||
|         } | ||||
|  | ||||
|         fn exact_word_prefix_docids(&self, word: &str) -> heed::Result<Option<RoaringBitmap>> { | ||||
|             Ok(self.exact_word_prefix_docids.get(&word.to_string()).cloned()) | ||||
|         } | ||||
|  | ||||
|         fn word_pair_proximity_docids( | ||||
|             &self, | ||||
|             left: &str, | ||||
| @@ -672,6 +682,8 @@ pub mod test { | ||||
|                 s("20")  => &word_docids[&s("2020")]  | &word_docids[&s("2021")], | ||||
|             }; | ||||
|  | ||||
|             let exact_word_prefix_docids = HashMap::new(); | ||||
|  | ||||
|             let mut word_pair_proximity_docids = HashMap::new(); | ||||
|             let mut word_prefix_pair_proximity_docids = HashMap::new(); | ||||
|             for (lword, lcandidates) in &word_docids { | ||||
| @@ -729,6 +741,7 @@ pub mod test { | ||||
|                 word_docids, | ||||
|                 exact_word_docids, | ||||
|                 word_prefix_docids, | ||||
|                 exact_word_prefix_docids, | ||||
|                 word_pair_proximity_docids, | ||||
|                 word_prefix_pair_proximity_docids, | ||||
|                 docid_words, | ||||
|   | ||||
		Reference in New Issue
	
	Block a user