mirror of
https://github.com/meilisearch/meilisearch.git
synced 2024-11-25 19:45:05 +08:00
29 lines
670 B
Rust
29 lines
670 B
Rust
|
use std::collections::HashMap;
|
||
|
|
||
|
use serde::{Deserialize, Serialize};
|
||
|
|
||
|
use crate::{FieldId, Weight};
|
||
|
|
||
|
#[derive(Debug, Default, Serialize, Deserialize)]
|
||
|
pub struct FieldidsWeightsMap {
|
||
|
map: HashMap<FieldId, Weight>,
|
||
|
}
|
||
|
|
||
|
impl FieldidsWeightsMap {
|
||
|
pub fn insert(&mut self, fid: FieldId, weight: Weight) -> Option<Weight> {
|
||
|
self.map.insert(fid, weight)
|
||
|
}
|
||
|
|
||
|
pub fn remove(&mut self, fid: FieldId) -> Option<Weight> {
|
||
|
self.map.remove(&fid)
|
||
|
}
|
||
|
|
||
|
pub fn weight(&self, fid: FieldId) -> Option<Weight> {
|
||
|
self.map.get(&fid).copied()
|
||
|
}
|
||
|
|
||
|
pub fn max_weight(&self) -> Option<Weight> {
|
||
|
self.map.values().copied().max()
|
||
|
}
|
||
|
}
|