mirror of
				https://github.com/meilisearch/meilisearch.git
				synced 2025-11-04 01:46:28 +00:00 
			
		
		
		
	Fix test
This commit is contained in:
		@@ -706,6 +706,12 @@ pub fn apply_settings_to_builder(
 | 
			
		||||
                Setting::Reset => builder.reset_exact_attributes(),
 | 
			
		||||
                Setting::NotSet => (),
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
            match value.disable_on_numbers {
 | 
			
		||||
                Setting::Set(val) => builder.set_disable_on_numbers(val),
 | 
			
		||||
                Setting::Reset => builder.reset_disable_on_numbers(),
 | 
			
		||||
                Setting::NotSet => (),
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
        Setting::Reset => {
 | 
			
		||||
            // all typo settings need to be reset here.
 | 
			
		||||
 
 | 
			
		||||
@@ -179,7 +179,7 @@ test_setting_routes!(
 | 
			
		||||
    {
 | 
			
		||||
        setting: typo_tolerance,
 | 
			
		||||
        update_verb: patch,
 | 
			
		||||
        default_value: {"enabled": true, "minWordSizeForTypos": {"oneTypo": 5, "twoTypos": 9}, "disableOnWords": [], "disableOnAttributes": []}
 | 
			
		||||
        default_value: {"enabled": true, "minWordSizeForTypos": {"oneTypo": 5, "twoTypos": 9}, "disableOnWords": [], "disableOnAttributes": [], "disableOnNumbers": false}
 | 
			
		||||
    },
 | 
			
		||||
);
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -28,7 +28,7 @@ impl Index {
 | 
			
		||||
        self.main.remap_types::<Str, SerdeJson<DisabledTyposTerms>>().put(
 | 
			
		||||
            txn,
 | 
			
		||||
            main_key::DISABLED_TYPOS_TERMS,
 | 
			
		||||
            &disabled_typos_terms,
 | 
			
		||||
            disabled_typos_terms,
 | 
			
		||||
        )?;
 | 
			
		||||
 | 
			
		||||
        Ok(())
 | 
			
		||||
 
 | 
			
		||||
@@ -128,7 +128,7 @@ pub fn extract_word_docids<R: io::Read + io::Seek>(
 | 
			
		||||
        let obkv = KvReaderDelAdd::from_slice(value);
 | 
			
		||||
        if let Some(value) = obkv.get(DelAdd::Deletion) {
 | 
			
		||||
            let delete_from_exact = settings_diff.old.exact_attributes.contains(&fid)
 | 
			
		||||
                || settings_diff.old.disabled_typos_terms.is_exact(&w);
 | 
			
		||||
                || settings_diff.old.disabled_typos_terms.is_exact(w);
 | 
			
		||||
            buffer.clear();
 | 
			
		||||
            let mut obkv = KvWriterDelAdd::new(&mut buffer);
 | 
			
		||||
            obkv.insert(DelAdd::Deletion, value)?;
 | 
			
		||||
@@ -141,7 +141,7 @@ pub fn extract_word_docids<R: io::Read + io::Seek>(
 | 
			
		||||
        // merge all additions
 | 
			
		||||
        if let Some(value) = obkv.get(DelAdd::Addition) {
 | 
			
		||||
            let add_in_exact = settings_diff.new.exact_attributes.contains(&fid)
 | 
			
		||||
                || settings_diff.new.disabled_typos_terms.is_exact(&w);
 | 
			
		||||
                || settings_diff.new.disabled_typos_terms.is_exact(w);
 | 
			
		||||
            buffer.clear();
 | 
			
		||||
            let mut obkv = KvWriterDelAdd::new(&mut buffer);
 | 
			
		||||
            obkv.insert(DelAdd::Addition, value)?;
 | 
			
		||||
 
 | 
			
		||||
@@ -170,7 +170,7 @@ pub struct Settings<'a, 't, 'i> {
 | 
			
		||||
    synonyms: Setting<BTreeMap<String, Vec<String>>>,
 | 
			
		||||
    primary_key: Setting<String>,
 | 
			
		||||
    authorize_typos: Setting<bool>,
 | 
			
		||||
    disabled_typos_terms: Setting<DisabledTyposTerms>,
 | 
			
		||||
    disable_on_numbers: Setting<bool>,
 | 
			
		||||
    min_word_len_two_typos: Setting<u8>,
 | 
			
		||||
    min_word_len_one_typo: Setting<u8>,
 | 
			
		||||
    exact_words: Setting<BTreeSet<String>>,
 | 
			
		||||
@@ -209,7 +209,7 @@ impl<'a, 't, 'i> Settings<'a, 't, 'i> {
 | 
			
		||||
            synonyms: Setting::NotSet,
 | 
			
		||||
            primary_key: Setting::NotSet,
 | 
			
		||||
            authorize_typos: Setting::NotSet,
 | 
			
		||||
            disabled_typos_terms: Setting::NotSet,
 | 
			
		||||
            disable_on_numbers: Setting::NotSet,
 | 
			
		||||
            exact_words: Setting::NotSet,
 | 
			
		||||
            min_word_len_two_typos: Setting::NotSet,
 | 
			
		||||
            min_word_len_one_typo: Setting::NotSet,
 | 
			
		||||
@@ -357,8 +357,12 @@ impl<'a, 't, 'i> Settings<'a, 't, 'i> {
 | 
			
		||||
        self.min_word_len_one_typo = Setting::Reset;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    pub fn set_disabled_typos_terms(&mut self, disabled_typos_terms: DisabledTyposTerms) {
 | 
			
		||||
        self.disabled_typos_terms = Setting::Set(disabled_typos_terms);
 | 
			
		||||
    pub fn set_disable_on_numbers(&mut self, disable_on_numbers: bool) {
 | 
			
		||||
        self.disable_on_numbers = Setting::Set(disable_on_numbers);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    pub fn reset_disable_on_numbers(&mut self) {
 | 
			
		||||
        self.disable_on_numbers = Setting::Reset;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    pub fn set_exact_words(&mut self, words: BTreeSet<String>) {
 | 
			
		||||
@@ -874,15 +878,20 @@ impl<'a, 't, 'i> Settings<'a, 't, 'i> {
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    fn update_disabled_typos_terms(&mut self) -> Result<()> {
 | 
			
		||||
        match self.disabled_typos_terms {
 | 
			
		||||
            Setting::Set(disabled_typos_terms) => {
 | 
			
		||||
                self.index.put_disabled_typos_terms(self.wtxn, &disabled_typos_terms)?;
 | 
			
		||||
        let mut disabled_typos_terms = self.index.disabled_typos_terms(self.wtxn)?;
 | 
			
		||||
        match self.disable_on_numbers {
 | 
			
		||||
            Setting::Set(disable_on_numbers) => {
 | 
			
		||||
                disabled_typos_terms.disable_on_numbers = disable_on_numbers;
 | 
			
		||||
            }
 | 
			
		||||
            Setting::Reset => {
 | 
			
		||||
                self.index.delete_disabled_typos_terms(self.wtxn)?;
 | 
			
		||||
                disabled_typos_terms.disable_on_numbers =
 | 
			
		||||
                    DisabledTyposTerms::default().disable_on_numbers;
 | 
			
		||||
            }
 | 
			
		||||
            Setting::NotSet => (),
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        self.index.put_disabled_typos_terms(self.wtxn, &disabled_typos_terms)?;
 | 
			
		||||
        Ok(())
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -896,7 +896,7 @@ fn test_correct_settings_init() {
 | 
			
		||||
                localized_attributes_rules,
 | 
			
		||||
                prefix_search,
 | 
			
		||||
                facet_search,
 | 
			
		||||
                disabled_typos_terms,
 | 
			
		||||
                disable_on_numbers,
 | 
			
		||||
            } = settings;
 | 
			
		||||
            assert!(matches!(searchable_fields, Setting::NotSet));
 | 
			
		||||
            assert!(matches!(displayed_fields, Setting::NotSet));
 | 
			
		||||
@@ -924,7 +924,7 @@ fn test_correct_settings_init() {
 | 
			
		||||
            assert!(matches!(localized_attributes_rules, Setting::NotSet));
 | 
			
		||||
            assert!(matches!(prefix_search, Setting::NotSet));
 | 
			
		||||
            assert!(matches!(facet_search, Setting::NotSet));
 | 
			
		||||
            assert!(matches!(disabled_typos_terms, Setting::NotSet));
 | 
			
		||||
            assert!(matches!(disable_on_numbers, Setting::NotSet));
 | 
			
		||||
        })
 | 
			
		||||
        .unwrap();
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user