lance_namespace_reqwest_client/models/
query_table_request.rs

1/*
2 * Lance Namespace Specification
3 *
4 * This OpenAPI specification is a part of the Lance namespace specification. It contains 2 parts:  The `components/schemas`, `components/responses`, `components/examples`, `tags` sections define the request and response shape for each operation in a Lance Namespace across all implementations. See https://lancedb.github.io/lance-namespace/spec/operations for more details.  The `servers`, `security`, `paths`, `components/parameters` sections are for the  Lance REST Namespace implementation, which defines a complete REST server that can work with Lance datasets. See https://lancedb.github.io/lance-namespace/spec/impls/rest for more details. 
5 *
6 * The version of the OpenAPI document: 1.0.0
7 * 
8 * Generated by: https://openapi-generator.tech
9 */
10
11use crate::models;
12use serde::{Deserialize, Serialize};
13
14#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
15pub struct QueryTableRequest {
16    #[serde(rename = "id", skip_serializing_if = "Option::is_none")]
17    pub id: Option<Vec<String>>,
18    /// Whether to bypass vector index
19    #[serde(rename = "bypass_vector_index", skip_serializing_if = "Option::is_none")]
20    pub bypass_vector_index: Option<bool>,
21    /// Optional list of columns to return
22    #[serde(rename = "columns", skip_serializing_if = "Option::is_none")]
23    pub columns: Option<Vec<String>>,
24    /// Distance metric to use
25    #[serde(rename = "distance_type", skip_serializing_if = "Option::is_none")]
26    pub distance_type: Option<String>,
27    /// Search effort parameter for HNSW index
28    #[serde(rename = "ef", skip_serializing_if = "Option::is_none")]
29    pub ef: Option<i32>,
30    /// Whether to use fast search
31    #[serde(rename = "fast_search", skip_serializing_if = "Option::is_none")]
32    pub fast_search: Option<bool>,
33    /// Optional SQL filter expression
34    #[serde(rename = "filter", skip_serializing_if = "Option::is_none")]
35    pub filter: Option<String>,
36    #[serde(rename = "full_text_query", skip_serializing_if = "Option::is_none")]
37    pub full_text_query: Option<Box<models::QueryTableRequestFullTextQuery>>,
38    /// Number of results to return
39    #[serde(rename = "k")]
40    pub k: i32,
41    /// Lower bound for search
42    #[serde(rename = "lower_bound", skip_serializing_if = "Option::is_none")]
43    pub lower_bound: Option<f32>,
44    /// Number of probes for IVF index
45    #[serde(rename = "nprobes", skip_serializing_if = "Option::is_none")]
46    pub nprobes: Option<i32>,
47    /// Number of results to skip
48    #[serde(rename = "offset", skip_serializing_if = "Option::is_none")]
49    pub offset: Option<i32>,
50    /// Whether to apply filtering before vector search
51    #[serde(rename = "prefilter", skip_serializing_if = "Option::is_none")]
52    pub prefilter: Option<bool>,
53    /// Refine factor for search
54    #[serde(rename = "refine_factor", skip_serializing_if = "Option::is_none")]
55    pub refine_factor: Option<i32>,
56    /// Upper bound for search
57    #[serde(rename = "upper_bound", skip_serializing_if = "Option::is_none")]
58    pub upper_bound: Option<f32>,
59    #[serde(rename = "vector")]
60    pub vector: Box<models::QueryTableRequestVector>,
61    /// Name of the vector column to search
62    #[serde(rename = "vector_column", skip_serializing_if = "Option::is_none")]
63    pub vector_column: Option<String>,
64    /// Table version to query
65    #[serde(rename = "version", skip_serializing_if = "Option::is_none")]
66    pub version: Option<i64>,
67    /// If true, return the row id as a column called `_rowid`
68    #[serde(rename = "with_row_id", skip_serializing_if = "Option::is_none")]
69    pub with_row_id: Option<bool>,
70}
71
72impl QueryTableRequest {
73    pub fn new(k: i32, vector: models::QueryTableRequestVector) -> QueryTableRequest {
74        QueryTableRequest {
75            id: None,
76            bypass_vector_index: None,
77            columns: None,
78            distance_type: None,
79            ef: None,
80            fast_search: None,
81            filter: None,
82            full_text_query: None,
83            k,
84            lower_bound: None,
85            nprobes: None,
86            offset: None,
87            prefilter: None,
88            refine_factor: None,
89            upper_bound: None,
90            vector: Box::new(vector),
91            vector_column: None,
92            version: None,
93            with_row_id: None,
94        }
95    }
96}
97