use crate::core;
use crate::common;
use serde::{Deserialize, Serialize};
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct ResponseBody {
#[serde(rename = "fields", default, skip_serializing_if = "Option::is_none")]
pub fields: Option<serde_json::Value>,
#[serde(rename = "num_reduce_phases", default, skip_serializing_if = "Option::is_none")]
pub num_reduce_phases: Option<u32>,
#[serde(rename = "profile", default, skip_serializing_if = "Option::is_none")]
pub profile: Option<core::search::Profile>,
#[serde(rename = "hits")]
pub hits: core::search::HitsMetadata,
#[serde(rename = "_shards")]
pub shards: common::ShardStatistics,
#[serde(rename = "aggregations", default, skip_serializing_if = "Option::is_none")]
pub aggregations: Option<serde_json::Value>,
#[serde(rename = "_clusters", default, skip_serializing_if = "Option::is_none")]
pub clusters: Option<common::ClusterStatistics>,
#[serde(rename = "suggest", default, skip_serializing_if = "Option::is_none")]
pub suggest: Option<serde_json::Value>,
#[serde(rename = "timed_out")]
pub timed_out: bool,
#[serde(rename = "_scroll_id", default, skip_serializing_if = "Option::is_none")]
pub scroll_id: Option<String>,
#[serde(rename = "pit_id", default, skip_serializing_if = "Option::is_none")]
pub pit_id: Option<String>,
#[serde(rename = "terminated_early", default, skip_serializing_if = "Option::is_none")]
pub terminated_early: Option<bool>,
#[serde(rename = "took")]
pub took: u32,
#[serde(rename = "max_score", default, skip_serializing_if = "Option::is_none")]
pub max_score: Option<f64>,
}
impl ResponseBody {
pub fn new(hits: core::search::HitsMetadata, shards: common::ShardStatistics, timed_out: bool, took: u32) -> ResponseBody {
ResponseBody {
fields: None,
num_reduce_phases: None,
profile: None,
hits,
shards,
aggregations: None,
clusters: None,
suggest: None,
timed_out,
scroll_id: None,
pit_id: None,
terminated_early: None,
took,
max_score: None,
}
}
}