opensearch_client/common/analysis/
custom_analyzer.rs1use serde::{Deserialize, Serialize};
12
13#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
14pub struct CustomAnalyzer {
15 #[serde(
16 rename = "char_filter",
17 default,
18 skip_serializing_if = "Option::is_none"
19 )]
20 pub char_filter: Option<Vec<String>>,
21 #[serde(rename = "type")]
22 pub r#type: String,
23 #[serde(
24 rename = "position_increment_gap",
25 default,
26 skip_serializing_if = "Option::is_none"
27 )]
28 pub position_increment_gap: Option<u32>,
29 #[serde(rename = "filter", default, skip_serializing_if = "Option::is_none")]
30 pub filter: Option<Vec<String>>,
31 #[serde(rename = "tokenizer")]
32 pub tokenizer: String,
33 #[serde(
34 rename = "position_offset_gap",
35 default,
36 skip_serializing_if = "Option::is_none"
37 )]
38 pub position_offset_gap: Option<u32>,
39}
40
41impl CustomAnalyzer {
42 pub fn new(r#type: String, tokenizer: String) -> CustomAnalyzer {
43 CustomAnalyzer {
44 char_filter: None,
45 r#type,
46 position_increment_gap: None,
47 filter: None,
48 tokenizer,
49 position_offset_gap: None,
50 }
51 }
52}