Skip to main content

sonic/query/
mod.rs

1// Sonic
2//
3// Fast, lightweight and schema-less search backend
4// Copyright: 2019, Valerian Saliou <valerian@valeriansaliou.name>
5// Copyright: 2026, Rémi Bardon <remi@remibardon.name>
6// License: Mozilla Public License v2.0 (MPL v2.0)
7
8mod builder;
9mod types;
10
11use crate::lexer::TokenLexer;
12use crate::store::StoreItem;
13
14pub use self::types::*;
15
16pub enum Query<'a> {
17    Search(
18        StoreItem<'a>,
19        QuerySearchID<'a>,
20        TokenLexer<'a>,
21        QuerySearchLimit,
22        QuerySearchOffset,
23    ),
24    Suggest(
25        StoreItem<'a>,
26        QuerySearchID<'a>,
27        TokenLexer<'a>,
28        QuerySearchLimit,
29    ),
30    List(
31        StoreItem<'a>,
32        QuerySearchID<'a>,
33        QuerySearchLimit,
34        QuerySearchOffset,
35    ),
36    Push(StoreItem<'a>, TokenLexer<'a>),
37    Pop(StoreItem<'a>, TokenLexer<'a>),
38    Count(StoreItem<'a>),
39    FlushC(StoreItem<'a>),
40    FlushB(StoreItem<'a>),
41    FlushO(StoreItem<'a>),
42}