use crate::core;
use crate::common;
use serde::{Deserialize, Serialize};
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct Hit {
#[serde(rename = "_nested", default, skip_serializing_if = "Option::is_none")]
pub nested: Option<Box<core::search::NestedIdentity>>,
#[serde(rename = "_primary_term", default, skip_serializing_if = "Option::is_none")]
pub primary_term: Option<u32>,
#[serde(rename = "_shard", default, skip_serializing_if = "Option::is_none")]
pub shard: Option<String>,
#[serde(rename = "_source", default, skip_serializing_if = "Option::is_none")]
pub source: Option<serde_json::Value>,
#[serde(rename = "_id")]
pub id: String,
#[serde(rename = "fields", default, skip_serializing_if = "Option::is_none")]
pub fields: Option<serde_json::Value>,
#[serde(rename = "_index")]
pub index: String,
#[serde(rename = "_node", default, skip_serializing_if = "Option::is_none")]
pub node: Option<String>,
#[serde(rename = "_routing", default, skip_serializing_if = "Option::is_none")]
pub routing: Option<String>,
#[serde(rename = "ignored_field_values", default, skip_serializing_if = "Option::is_none")]
pub ignored_field_values: Option<serde_json::Value>,
#[serde(rename = "_ignored", default, skip_serializing_if = "Option::is_none")]
pub ignored: Option<Vec<String>>,
#[serde(rename = "_seq_no", default, skip_serializing_if = "Option::is_none")]
pub seq_no: Option<u32>,
#[serde(rename = "_version", default, skip_serializing_if = "Option::is_none")]
pub version: Option<u32>,
#[serde(rename = "highlight", default, skip_serializing_if = "Option::is_none")]
pub highlight: Option<serde_json::Value>,
#[serde(rename = "matched_queries", default, skip_serializing_if = "Option::is_none")]
pub matched_queries: Option<Vec<String>>,
#[serde(rename = "inner_hits", default, skip_serializing_if = "Option::is_none")]
pub inner_hits: Option<serde_json::Value>,
#[serde(rename = "_explanation", default, skip_serializing_if = "Option::is_none")]
pub explanation: Option<core::explain::Explanation>,
}
impl Hit {
pub fn new(id: String, index: String) -> Hit {
Hit {
nested: None,
primary_term: None,
shard: None,
source: None,
id,
fields: None,
index,
node: None,
routing: None,
ignored_field_values: None,
ignored: None,
seq_no: None,
version: None,
highlight: None,
matched_queries: None,
inner_hits: None,
explanation: None,
}
}
}