1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
use similarity::SimilarityModel;


#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
pub struct TermScorer {
    pub similarity_model: SimilarityModel,
    pub boost: f32,
}


impl TermScorer {
    pub fn default_with_boost(boost: f32) -> TermScorer {
        TermScorer {
            similarity_model: SimilarityModel::Bm25 {
                k1: 1.2,
                b: 0.75,
            },
            boost: boost,
        }
    }
}


impl Default for TermScorer {
    fn default() -> TermScorer {
        TermScorer::default_with_boost(1.0f32)
    }
}