use crate::models;
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct SearchOverGroupsReqPayload {
#[serde(rename = "filters", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
pub filters: Option<Option<Box<models::ChunkFilter>>>,
#[serde(rename = "get_total_pages", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
pub get_total_pages: Option<Option<bool>>,
#[serde(rename = "group_size", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
pub group_size: Option<Option<i32>>,
#[serde(rename = "highlight_options", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
pub highlight_options: Option<Option<Box<models::HighlightOptions>>>,
#[serde(rename = "page", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
pub page: Option<Option<i64>>,
#[serde(rename = "page_size", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
pub page_size: Option<Option<i64>>,
#[serde(rename = "query")]
pub query: Box<models::QueryTypes>,
#[serde(rename = "remove_stop_words", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
pub remove_stop_words: Option<Option<bool>>,
#[serde(rename = "score_threshold", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
pub score_threshold: Option<Option<f32>>,
#[serde(rename = "search_type")]
pub search_type: models::SearchMethod,
#[serde(rename = "slim_chunks", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
pub slim_chunks: Option<Option<bool>>,
#[serde(rename = "use_quote_negated_terms", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
pub use_quote_negated_terms: Option<Option<bool>>,
#[serde(rename = "user_id", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
pub user_id: Option<Option<String>>,
}
impl SearchOverGroupsReqPayload {
pub fn new(query: models::QueryTypes, search_type: models::SearchMethod) -> SearchOverGroupsReqPayload {
SearchOverGroupsReqPayload {
filters: None,
get_total_pages: None,
group_size: None,
highlight_options: None,
page: None,
page_size: None,
query: Box::new(query),
remove_stop_words: None,
score_threshold: None,
search_type,
slim_chunks: None,
use_quote_negated_terms: None,
user_id: None,
}
}
}