diff options
author | Kornel <kornel@geekhood.net> | 2020-03-21 20:58:36 +0000 |
---|---|---|
committer | Kornel <kornel@geekhood.net> | 2020-03-21 20:58:36 +0000 |
commit | bbb3de273398bc61795325806fd8ec7611d3e481 (patch) | |
tree | db90659168ee3dcede8f560410807c886b0d8dc2 | |
parent | 70e95113bb4d790cc45d3ea7a37ee0d02fcdb649 (diff) |
Tune keywords
-rw-r--r-- | front_end/src/author_page.rs | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/front_end/src/author_page.rs b/front_end/src/author_page.rs index 3df0013..2f06bab 100644 --- a/front_end/src/author_page.rs +++ b/front_end/src/author_page.rs @@ -70,8 +70,9 @@ impl<'a> AuthorPage<'a> { // Most collaborated with let mut collab = HashMap::new(); for (c, _, row, all_owners) in founder_crates.iter().chain(member_crates.iter()) { - for k in c.keywords() { - *keywords.entry(k).or_insert(0.) += row.crate_ranking + 0.5; + for (i, k) in c.keywords().iter().enumerate() { + // take first(-ish) keyword from each crate to avoid one crate taking most + *keywords.entry(k).or_insert(0.) += (row.crate_ranking + 0.5) / (i+2) as f32; } if let Some(own) = all_owners.iter().find(|o| o.github_id == aut.github.id) { |