typesense_rs/models/
field.rs1use serde::{Deserialize, Serialize};
10
11use crate::models;
12
13#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
14pub struct Field {
15 #[serde(rename = "drop", skip_serializing_if = "Option::is_none")]
16 pub drop: Option<bool>,
17 #[serde(rename = "embed", skip_serializing_if = "Option::is_none")]
18 pub embed: Option<Box<models::FieldEmbed>>,
19 #[serde(rename = "facet", skip_serializing_if = "Option::is_none")]
20 pub facet: Option<bool>,
21 #[serde(rename = "index", skip_serializing_if = "Option::is_none")]
22 pub index: Option<bool>,
23 #[serde(rename = "infix", skip_serializing_if = "Option::is_none")]
24 pub infix: Option<bool>,
25 #[serde(rename = "locale", skip_serializing_if = "Option::is_none")]
26 pub locale: Option<String>,
27 #[serde(rename = "name")]
28 pub name: String,
29 #[serde(rename = "num_dim", skip_serializing_if = "Option::is_none")]
30 pub num_dim: Option<i32>,
31 #[serde(rename = "optional", skip_serializing_if = "Option::is_none")]
32 pub optional: Option<bool>,
33 #[serde(rename = "range_index", skip_serializing_if = "Option::is_none")]
36 pub range_index: Option<bool>,
37 #[serde(rename = "reference", skip_serializing_if = "Option::is_none")]
40 pub reference: Option<String>,
41 #[serde(rename = "sort", skip_serializing_if = "Option::is_none")]
42 pub sort: Option<bool>,
43 #[serde(rename = "stem", skip_serializing_if = "Option::is_none")]
45 pub stem: Option<bool>,
46 #[serde(rename = "store", skip_serializing_if = "Option::is_none")]
49 pub store: Option<bool>,
50 #[serde(rename = "type")]
51 pub r#type: String,
52 #[serde(rename = "vec_dist", skip_serializing_if = "Option::is_none")]
55 pub vec_dist: Option<String>,
56}
57
58impl Field {
59 pub fn new(name: String, r#type: String) -> Field {
60 Field {
61 drop: None,
62 embed: None,
63 facet: None,
64 index: None,
65 infix: None,
66 locale: None,
67 name,
68 num_dim: None,
69 optional: None,
70 range_index: None,
71 reference: None,
72 sort: None,
73 stem: None,
74 store: None,
75 r#type,
76 vec_dist: None,
77 }
78 }
79}