qdrant_edge/edge/builders/
group_request.rs1use crate::segment::json_path::JsonPath;
7
8use crate::edge::requests::grouping::GroupRequest;
9use crate::edge::requests::query::QueryRequest;
10
11#[derive(Clone, Debug)]
15pub struct GroupRequestBuilder {
16 query: QueryRequest,
17 group_by: JsonPath,
18 groups: usize,
19 group_size: usize,
20}
21
22impl GroupRequestBuilder {
23 pub fn new(query: QueryRequest, group_by: JsonPath, groups: usize, group_size: usize) -> Self {
24 let GroupRequest {
25 query,
26 group_by,
27 groups,
28 group_size,
29 } = GroupRequest::new(query, group_by, groups, group_size);
30 Self {
31 query,
32 group_by,
33 groups,
34 group_size,
35 }
36 }
37
38 pub fn build(self) -> GroupRequest {
39 let Self {
42 query,
43 group_by,
44 groups,
45 group_size,
46 } = self;
47 GroupRequest {
48 query,
49 group_by,
50 groups,
51 group_size,
52 }
53 }
54}