manticore_openapi/models/
highlight.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/// Highlight : Query HIGHLIGHT expression
15#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
16pub struct Highlight {
17    #[serde(rename = "fieldnames", skip_serializing_if = "Option::is_none")]
18    pub fieldnames: Option<Vec<String>>,
19    #[serde(rename = "fields", skip_serializing_if = "Option::is_none")]
20    pub fields: Option<Vec<models::HighlightField>>,
21    #[serde(rename = "encoder", skip_serializing_if = "Option::is_none")]
22    pub encoder: Option<Encoder>,
23    #[serde(rename = "highlight_query", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
24    pub highlight_query: Option<Option<std::collections::HashMap<String, serde_json::Value>>>,
25    #[serde(rename = "pre_tags", skip_serializing_if = "Option::is_none")]
26    pub pre_tags: Option<String>,
27    #[serde(rename = "post_tags", skip_serializing_if = "Option::is_none")]
28    pub post_tags: Option<String>,
29    #[serde(rename = "no_match_size", skip_serializing_if = "Option::is_none")]
30    pub no_match_size: Option<NoMatchSize>,
31    #[serde(rename = "fragment_size", skip_serializing_if = "Option::is_none")]
32    pub fragment_size: Option<i32>,
33    #[serde(rename = "number_of_fragments", skip_serializing_if = "Option::is_none")]
34    pub number_of_fragments: Option<i32>,
35    #[serde(rename = "limit", skip_serializing_if = "Option::is_none")]
36    pub limit: Option<i32>,
37    #[serde(rename = "limit_words", skip_serializing_if = "Option::is_none")]
38    pub limit_words: Option<i32>,
39    #[serde(rename = "limit_snippets", skip_serializing_if = "Option::is_none")]
40    pub limit_snippets: Option<i32>,
41    #[serde(rename = "limits_per_field", skip_serializing_if = "Option::is_none")]
42    pub limits_per_field: Option<bool>,
43    #[serde(rename = "use_boundaries", skip_serializing_if = "Option::is_none")]
44    pub use_boundaries: Option<bool>,
45    #[serde(rename = "force_all_words", skip_serializing_if = "Option::is_none")]
46    pub force_all_words: Option<bool>,
47    #[serde(rename = "allow_empty", skip_serializing_if = "Option::is_none")]
48    pub allow_empty: Option<bool>,
49    #[serde(rename = "emit_zones", skip_serializing_if = "Option::is_none")]
50    pub emit_zones: Option<bool>,
51    #[serde(rename = "force_snippets", skip_serializing_if = "Option::is_none")]
52    pub force_snippets: Option<bool>,
53    #[serde(rename = "around", skip_serializing_if = "Option::is_none")]
54    pub around: Option<i32>,
55    #[serde(rename = "start_snippet_id", skip_serializing_if = "Option::is_none")]
56    pub start_snippet_id: Option<i32>,
57    #[serde(rename = "html_strip_mode", skip_serializing_if = "Option::is_none")]
58    pub html_strip_mode: Option<HtmlStripMode>,
59    #[serde(rename = "snippet_boundary", skip_serializing_if = "Option::is_none")]
60    pub snippet_boundary: Option<SnippetBoundary>,
61}
62
63impl Highlight {
64    /// Query HIGHLIGHT expression
65    pub fn new() -> Highlight {
66        Highlight {
67            fieldnames: None,
68            fields: None,
69            encoder: None,
70            highlight_query: None,
71            pre_tags: None,
72            post_tags: None,
73            no_match_size: None,
74            fragment_size: None,
75            number_of_fragments: None,
76            limit: None,
77            limit_words: None,
78            limit_snippets: None,
79            limits_per_field: None,
80            use_boundaries: None,
81            force_all_words: None,
82            allow_empty: None,
83            emit_zones: None,
84            force_snippets: None,
85            around: None,
86            start_snippet_id: None,
87            html_strip_mode: None,
88            snippet_boundary: None,
89        }
90    }
91}
92/// 
93#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
94pub enum Encoder {
95    #[serde(rename = "default")]
96    Default,
97    #[serde(rename = "html")]
98    Html,
99}
100
101impl Default for Encoder {
102    fn default() -> Encoder {
103        Self::Default
104    }
105}
106/// 
107#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
108pub enum NoMatchSize {
109    #[serde(rename = "0")]
110    Variant0,
111    #[serde(rename = "1")]
112    Variant1,
113}
114
115impl Default for NoMatchSize {
116    fn default() -> NoMatchSize {
117        Self::Variant0
118    }
119}
120/// 
121#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
122pub enum HtmlStripMode {
123    #[serde(rename = "none")]
124    None,
125    #[serde(rename = "strip")]
126    Strip,
127    #[serde(rename = "index")]
128    Index,
129    #[serde(rename = "retain")]
130    Retain,
131}
132
133impl Default for HtmlStripMode {
134    fn default() -> HtmlStripMode {
135        Self::None
136    }
137}
138/// 
139#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
140pub enum SnippetBoundary {
141    #[serde(rename = "sentence")]
142    Sentence,
143    #[serde(rename = "paragraph")]
144    Paragraph,
145    #[serde(rename = "zone")]
146    Zone,
147}
148
149impl Default for SnippetBoundary {
150    fn default() -> SnippetBoundary {
151        Self::Sentence
152    }
153}
154