manticore_openapi/models/
search_request.rs1use crate::models;
12use serde::{Deserialize, Serialize};
13
14#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
16pub struct SearchRequest {
17 #[serde(rename = "index")]
18 pub index: String,
19 #[serde(rename = "query", skip_serializing_if = "Option::is_none")]
20 pub query: Option<serde_json::Value>,
21 #[serde(rename = "fulltext_filter", skip_serializing_if = "Option::is_none")]
22 pub fulltext_filter: Option<serde_json::Value>,
23 #[serde(rename = "attr_filter", skip_serializing_if = "Option::is_none")]
24 pub attr_filter: Option<serde_json::Value>,
25 #[serde(rename = "limit", skip_serializing_if = "Option::is_none")]
26 pub limit: Option<i32>,
27 #[serde(rename = "offset", skip_serializing_if = "Option::is_none")]
28 pub offset: Option<i32>,
29 #[serde(rename = "max_matches", skip_serializing_if = "Option::is_none")]
30 pub max_matches: Option<i32>,
31 #[serde(rename = "sort", skip_serializing_if = "Option::is_none")]
32 pub sort: Option<Vec<serde_json::Value>>,
33 #[serde(rename = "aggs", skip_serializing_if = "Option::is_none")]
34 pub aggs: Option<std::collections::HashMap<String, models::Aggregation>>,
35 #[serde(rename = "expressions", skip_serializing_if = "Option::is_none")]
36 pub expressions: Option<std::collections::HashMap<String, String>>,
37 #[serde(rename = "highlight", skip_serializing_if = "Option::is_none")]
38 pub highlight: Option<Box<models::Highlight>>,
39 #[serde(rename = "source", skip_serializing_if = "Option::is_none")]
40 pub source: Option<serde_json::Value>,
41 #[serde(rename = "options", skip_serializing_if = "Option::is_none")]
42 pub options: Option<std::collections::HashMap<String, serde_json::Value>>,
43 #[serde(rename = "profile", skip_serializing_if = "Option::is_none")]
44 pub profile: Option<bool>,
45 #[serde(rename = "track_scores", skip_serializing_if = "Option::is_none")]
46 pub track_scores: Option<bool>,
47}
48
49impl SearchRequest {
50 pub fn new(index: String) -> SearchRequest {
52 SearchRequest {
53 index,
54 ..Default::default()
55 }
56 }
57}