manticore_openapi/models/
search_request.rs

1/*
2 * Manticore Search Client
3 *
4 * Сlient for Manticore Search.
5 *
6 * The version of the OpenAPI document: 3.3.1
7 * Contact: info@manticoresearch.com
8 * Generated by: https://openapi-generator.tech
9 */
10
11use crate::models;
12use serde::{Deserialize, Serialize};
13
14/// SearchRequest : Request object for search operation
15#[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    /// Request object for search operation
51    pub fn new(index: String) -> SearchRequest {
52        SearchRequest {
53            index,
54            ..Default::default()
55        }
56    }
57}