pub struct Metadata {Show 14 fields
pub name: String,
pub encoding: String,
pub default_word_cost: i16,
pub default_left_context_id: u16,
pub default_right_context_id: u16,
pub default_field_value: String,
pub flexible_csv: bool,
pub skip_invalid_cost_or_id: bool,
pub normalize_details: bool,
pub connection_id_mapping: bool,
pub context_id_map: Option<ContextIdMap>,
pub dictionary_schema: Schema,
pub user_dictionary_schema: Schema,
pub model_info: Option<ModelInfo>,
}Fields§
§name: String§encoding: String§default_word_cost: i16§default_left_context_id: u16§default_right_context_id: u16§default_field_value: String§flexible_csv: bool§skip_invalid_cost_or_id: bool§normalize_details: bool§connection_id_mapping: boolReorder connection-cost context IDs by frequency at build time so that
frequently-used connection-matrix cells cluster in cache. Optional and
defaults to false; when false the field is omitted from metadata.json
so existing files stay byte-identical, and the build output is unchanged.
context_id_map: Option<ContextIdMap>The context-ID permutation that was applied when this dictionary was built.
Written into the built metadata.json when connection_id_mapping is on, so
that anything compiled later against this dictionary — most importantly a
detailed user dictionary — can be relabeled into the same ID space. Absent (and
omitted from the file) for an un-remapped dictionary, which keeps those builds
byte-identical. Source metadata.json files carry only the boolean flag.
dictionary_schema: Schema§user_dictionary_schema: Schema§model_info: Option<ModelInfo>Implementations§
Source§impl Metadata
impl Metadata
pub fn new( name: String, encoding: String, simple_word_cost: i16, default_left_context_id: u16, default_right_context_id: u16, default_field_value: String, flexible_csv: bool, skip_invalid_cost_or_id: bool, normalize_details: bool, schema: Schema, userdic_schema: Schema, ) -> Self
Sourcepub fn load(data: &[u8]) -> LinderaResult<Self>
pub fn load(data: &[u8]) -> LinderaResult<Self>
Load metadata from binary data (JSON format). This provides a consistent interface with other dictionary components.
Sourcepub fn load_or_default(data: &[u8], default_fn: fn() -> Self) -> Self
pub fn load_or_default(data: &[u8], default_fn: fn() -> Self) -> Self
Load metadata with fallback to default values. This is used when feature flags are disabled and data might be empty.
Trait Implementations§
Source§impl Archive for Metadata
impl Archive for Metadata
Source§const COPY_OPTIMIZATION: CopyOptimization<Self>
const COPY_OPTIMIZATION: CopyOptimization<Self>
serialize. Read moreSource§type Archived = ArchivedMetadata
type Archived = ArchivedMetadata
Source§type Resolver = MetadataResolver
type Resolver = MetadataResolver
Source§impl<'de> Deserialize<'de> for Metadata
impl<'de> Deserialize<'de> for Metadata
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>,
Source§impl<__D: Fallible + ?Sized> Deserialize<Metadata, __D> for Archived<Metadata>where
String: Archive,
<String as Archive>::Archived: Deserialize<String, __D>,
i16: Archive,
<i16 as Archive>::Archived: Deserialize<i16, __D>,
u16: Archive,
<u16 as Archive>::Archived: Deserialize<u16, __D>,
bool: Archive,
<bool as Archive>::Archived: Deserialize<bool, __D>,
Option<ContextIdMap>: Archive,
<Option<ContextIdMap> as Archive>::Archived: Deserialize<Option<ContextIdMap>, __D>,
Schema: Archive,
<Schema as Archive>::Archived: Deserialize<Schema, __D>,
Option<ModelInfo>: Archive,
<Option<ModelInfo> as Archive>::Archived: Deserialize<Option<ModelInfo>, __D>,
impl<__D: Fallible + ?Sized> Deserialize<Metadata, __D> for Archived<Metadata>where
String: Archive,
<String as Archive>::Archived: Deserialize<String, __D>,
i16: Archive,
<i16 as Archive>::Archived: Deserialize<i16, __D>,
u16: Archive,
<u16 as Archive>::Archived: Deserialize<u16, __D>,
bool: Archive,
<bool as Archive>::Archived: Deserialize<bool, __D>,
Option<ContextIdMap>: Archive,
<Option<ContextIdMap> as Archive>::Archived: Deserialize<Option<ContextIdMap>, __D>,
Schema: Archive,
<Schema as Archive>::Archived: Deserialize<Schema, __D>,
Option<ModelInfo>: Archive,
<Option<ModelInfo> as Archive>::Archived: Deserialize<Option<ModelInfo>, __D>,
Auto Trait Implementations§
impl Freeze for Metadata
impl RefUnwindSafe for Metadata
impl Send for Metadata
impl Sync for Metadata
impl Unpin for Metadata
impl UnsafeUnpin for Metadata
impl UnwindSafe for Metadata
Blanket Implementations§
Source§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
Source§type ArchivedMetadata = ()
type ArchivedMetadata = ()
Source§fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata,
) -> <T as Pointee>::Metadata
fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata
Source§impl<T> ArchiveUnsized for Twhere
T: Archive,
impl<T> ArchiveUnsized for Twhere
T: Archive,
Source§type Archived = <T as Archive>::Archived
type Archived = <T as Archive>::Archived
Archive, it may be
unsized. Read moreSource§fn archived_metadata(
&self,
) -> <<T as ArchiveUnsized>::Archived as ArchivePointee>::ArchivedMetadata
fn archived_metadata( &self, ) -> <<T as ArchiveUnsized>::Archived as ArchivePointee>::ArchivedMetadata
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
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>
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>
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 moreSource§impl<T> LayoutRaw for T
impl<T> LayoutRaw for T
Source§fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
Source§impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
Source§unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
Source§fn resolve_niched(out: Place<NichedOption<T, N1>>)
fn resolve_niched(out: Place<NichedOption<T, N1>>)
out indicating that a T is niched.