pub struct Config {
pub min_tokens: usize,
pub ident_mode: IdentMode,
pub kgram: usize,
pub window: usize,
pub minhash_size: usize,
pub bands: usize,
pub fingerprint_levels: Vec<Level>,
pub keep_tokens: bool,
}Expand description
Parameters of feature extraction.
Fields§
§min_tokens: usizeFunctions with fewer N0 tokens get exact hashes only (no fingerprints / MinHash).
ident_mode: IdentModeHow identifiers are abstracted from N1.
kgram: usizek of the k-grams used for fingerprints.
window: usizeWindow size of winnowing.
minhash_size: usizeLength of MinHash signatures.
bands: usizeNumber of LSH bands; minhash_size must be divisible by it.
fingerprint_levels: Vec<Level>Levels for which fingerprints, MinHash and LSH buckets are computed.
keep_tokens: boolKeep the normalized token sequences in the output (for debugging and research).
Implementations§
Source§impl Config
impl Config
Sourcepub fn validate(&self) -> Result<(), Error>
pub fn validate(&self) -> Result<(), Error>
Checks that the parameters can be used: kgram and window are positive, and
minhash_size is a positive multiple of bands.
§Errors
Error::InvalidConfig describing the first invalid parameter.
§Examples
use pelicode_core::Config;
assert!(Config::default().validate().is_ok());
let config = Config { minhash_size: 100, bands: 32, ..Config::default() };
assert!(config.validate().is_err());Trait Implementations§
Source§impl<'de> Deserialize<'de> for Config
impl<'de> Deserialize<'de> for Config
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
impl Eq for Config
impl StructuralPartialEq for Config
Auto Trait Implementations§
impl Freeze for Config
impl RefUnwindSafe for Config
impl Send for Config
impl Sync for Config
impl Unpin for Config
impl UnsafeUnpin for Config
impl UnwindSafe for Config
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more