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::ml;
use serde::{Deserialize, Serialize};

/// Filter
/// The filter element.

#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct Filter {
    /// Term to match the query.
    #[serde(rename = "term", default, skip_serializing_if = "Option::is_none")]
    pub term: Option<Box<ml::Term>>,
    /// Match query.
    #[serde(rename = "match", default, skip_serializing_if = "Option::is_none")]
    pub r#match: Option<ml::Match>,
    /// The filter range.
    #[serde(rename = "range", default, skip_serializing_if = "Option::is_none")]
    pub range: Option<ml::Range>,
    /// The exists filter.
    #[serde(rename = "exists", default, skip_serializing_if = "Option::is_none")]
    pub exists: Option<ml::Exists>,
    /// Term to match the query.
    #[serde(rename = "terms", default, skip_serializing_if = "Option::is_none")]
    pub terms: Option<Box<ml::Term>>,
    /// The nested filter.
    #[serde(rename = "nested", default, skip_serializing_if = "Option::is_none")]
    pub nested: Option<ml::Nested>,
}

impl Filter {
    /// The filter element.
    pub fn new() -> Filter {
        Filter {
            term: None,
            r#match: None,
            range: None,
            exists: None,
            terms: None,
            nested: None,
        }
    }
}