use crate::common;
use crate::indices;
use serde::{Deserialize, Serialize};
#[derive(Clone, Default, Debug, Serialize, Deserialize)]
pub struct Analyze {
#[serde(rename = "analyzer", default, skip_serializing_if = "Option::is_none")]
pub analyzer: Option<String>,
#[serde(rename = "text", default, skip_serializing_if = "Option::is_none")]
pub text: Option<indices::analyze::TextToAnalyze>,
#[serde(
rename = "normalizer",
default,
skip_serializing_if = "Option::is_none"
)]
pub normalizer: Option<String>,
#[serde(
rename = "char_filter",
default,
skip_serializing_if = "Option::is_none"
)]
pub char_filter: Option<Vec<common::analysis::CharFilter>>,
#[serde(rename = "tokenizer", default, skip_serializing_if = "Option::is_none")]
pub tokenizer: Option<common::analysis::Tokenizer>,
#[serde(rename = "explain", default, skip_serializing_if = "Option::is_none")]
pub explain: Option<bool>,
#[serde(rename = "field", default, skip_serializing_if = "Option::is_none")]
pub field: Option<String>,
#[serde(
rename = "attributes",
default,
skip_serializing_if = "Option::is_none"
)]
pub attributes: Option<Vec<String>>,
#[serde(rename = "filter", default, skip_serializing_if = "Option::is_none")]
pub filter: Option<Vec<common::analysis::TokenFilter>>,
}
impl Analyze {
pub fn new() -> Analyze {
Analyze {
analyzer: None,
text: None,
normalizer: None,
char_filter: None,
tokenizer: None,
explain: None,
field: None,
attributes: None,
filter: None,
}
}
}