opensearch-client 0.3.1

Strongly typed OpenSearch Client
Documentation
/*
 * opensearch-client
 *
 * Rust Client for OpenSearch
 *
 * The version of the OpenAPI document: 3.1.0
 * Contact: alberto.paro@gmail.com
 * Generated by Paro OpenAPI Generator
 */

use crate::indices;
use serde::{Deserialize, Serialize};

#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct AnalyzeDetail {
    #[serde(
        rename = "charfilters",
        default,
        skip_serializing_if = "Option::is_none"
    )]
    pub charfilters: Option<Vec<indices::analyze::CharFilterDetail>>,
    #[serde(rename = "tokenizer", default, skip_serializing_if = "Option::is_none")]
    pub tokenizer: Option<indices::analyze::TokenDetail>,
    #[serde(rename = "custom_analyzer")]
    pub custom_analyzer: bool,
    #[serde(rename = "analyzer", default, skip_serializing_if = "Option::is_none")]
    pub analyzer: Option<indices::analyze::AnalyzerDetail>,
    #[serde(
        rename = "tokenfilters",
        default,
        skip_serializing_if = "Option::is_none"
    )]
    pub tokenfilters: Option<Vec<indices::analyze::TokenDetail>>,
}

impl AnalyzeDetail {
    pub fn new(custom_analyzer: bool) -> AnalyzeDetail {
        AnalyzeDetail {
            charfilters: None,
            tokenizer: None,
            custom_analyzer,
            analyzer: None,
            tokenfilters: None,
        }
    }
}