elasticsearch_dsl/search/queries/params/
simple_query_string_query.rs1use serde::ser::{Serialize, Serializer};
2
3#[derive(Debug, Clone, Copy, PartialEq, Eq, PartialOrd, Ord)]
6pub enum SimpleQueryStringQueryFlags {
7 All,
9
10 And,
12
13 Escape,
15
16 Fuzzy,
20
21 Near,
25
26 None,
28
29 Not,
31
32 Or,
34
35 Phrase,
37
38 Precedence,
40
41 Prefix,
43
44 Slop,
48
49 Whitespace,
51}
52
53impl From<SimpleQueryStringQueryFlags> for &'static str {
54 fn from(value: SimpleQueryStringQueryFlags) -> Self {
55 match value {
56 SimpleQueryStringQueryFlags::All => "ALL",
57 SimpleQueryStringQueryFlags::And => "AND",
58 SimpleQueryStringQueryFlags::Escape => "ESCAPE",
59 SimpleQueryStringQueryFlags::Fuzzy => "FUZZY",
60 SimpleQueryStringQueryFlags::Near => "NEAR",
61 SimpleQueryStringQueryFlags::None => "NONE",
62 SimpleQueryStringQueryFlags::Not => "NOT",
63 SimpleQueryStringQueryFlags::Or => "OR",
64 SimpleQueryStringQueryFlags::Phrase => "PHRASE",
65 SimpleQueryStringQueryFlags::Precedence => "PRECEDENCE",
66 SimpleQueryStringQueryFlags::Prefix => "PREFIX",
67 SimpleQueryStringQueryFlags::Slop => "SLOP",
68 SimpleQueryStringQueryFlags::Whitespace => "WHITESPACE",
69 }
70 }
71}
72
73impl From<SimpleQueryStringQueryFlags> for String {
74 fn from(value: SimpleQueryStringQueryFlags) -> Self {
75 <&'static str>::from(value).to_string()
76 }
77}
78
79impl std::fmt::Display for SimpleQueryStringQueryFlags {
80 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
81 <&'static str>::from(*self).fmt(f)
82 }
83}
84
85impl Serialize for SimpleQueryStringQueryFlags {
86 fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
87 where
88 S: Serializer,
89 {
90 <&'static str>::from(*self).serialize(serializer)
91 }
92}