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