opensearch_client/core/field_caps/
field_capability.rs1use crate::common;
12use serde::{Deserialize, Serialize};
13
14
15
16
17#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
18pub struct FieldCapability { #[serde(rename = "aggregatable")]
20 pub aggregatable: bool, #[serde(rename = "non_searchable_indices", default, skip_serializing_if = "Option::is_none")]
24 pub non_searchable_indices: Option<common::Indices>, #[serde(rename = "indices", default, skip_serializing_if = "Option::is_none")]
28 pub indices: Option<common::Indices>, #[serde(rename = "searchable")]
30 pub searchable: bool, #[serde(rename = "metadata_field", default, skip_serializing_if = "Option::is_none")]
32 pub metadata_field: Option<bool>,
33 #[serde(rename = "type")]
34 pub r#type: String,
35 #[serde(rename = "meta", default, skip_serializing_if = "Option::is_none")]
36 pub meta: Option<serde_json::Value>, #[serde(rename = "non_aggregatable_indices", default, skip_serializing_if = "Option::is_none")]
40 pub non_aggregatable_indices: Option<common::Indices>,
41}
42
43impl FieldCapability {
44
45 pub fn new(aggregatable: bool, searchable: bool, r#type: String) -> FieldCapability {
46 FieldCapability {
47 aggregatable,
48 non_searchable_indices: None,
49 indices: None,
50 searchable,
51 metadata_field: None,
52 r#type,
53 meta: None,
54 non_aggregatable_indices: None,
55 }
56 }
57}