From 712c01aa93adf92df417182b5a4df291d68afc35 Mon Sep 17 00:00:00 2001 From: Evance Souamoro Date: Sat, 1 May 2021 05:40:59 +0000 Subject: [PATCH] fixed term sorting & moved it to a better place --- src/query/mlt/mlt.rs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/query/mlt/mlt.rs b/src/query/mlt/mlt.rs index 78cdc1f85..19f50d11d 100644 --- a/src/query/mlt/mlt.rs +++ b/src/query/mlt/mlt.rs @@ -102,7 +102,8 @@ impl MoreLikeThis { /// Creates a [`BooleanQuery`] from an ascendingly sorted list of ScoreTerm /// This will map the list of ScoreTerm to a list of [`TermQuery`] and compose a /// BooleanQuery using that list as sub queries. - fn create_query(&self, score_terms: Vec) -> BooleanQuery { + fn create_query(&self, mut score_terms: Vec) -> BooleanQuery { + score_terms.sort_by(|left_ts, right_ts| right_ts.cmp(left_ts)); let best_score = score_terms.first().map_or(1f32, |x| x.score); let mut queries = Vec::new(); @@ -374,11 +375,10 @@ impl MoreLikeThis { } } - let mut score_terms_vec: Vec = score_terms + let score_terms_vec: Vec = score_terms .into_iter() .map(|reverse_score_term| reverse_score_term.0) .collect(); - score_terms_vec.sort_unstable(); Ok(score_terms_vec) }