/** * CyborgDB Service * REST API for CyborgDB: The Confidential Vector Database * * The version of the OpenAPI document: 0.17.1.dev16 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). * https://openapi-generator.tech * Do not edit the class manually. */ import type { OrderBy } from './OrderBy'; /** * Request model for a metadata query (no query vector), optionally with a * BM25 full-text leg. * * Inherits: * IndexOperationRequest: Includes `index_name` and `index_key`. * TextSearchParams: `text` and the BM25 field knobs. When `text` is set * the result is ranked by BM25 score; a `filters` given alongside * acts as a pre-filter (the text leg scores only its survivors). * `order_by` is not supported together with `text`. * * Attributes: * filters (Optional[Dict[str, Any]]): Metadata filters as a JSON-like * dictionary. Unlike `/query`, every leaf must be resolvable from * the metadata index — see the field description. * top_k (Optional[int]): Cap on the number of results returned. `None` * returns every match. Applied AFTER `order_by`. * order_by (Optional[str]): Metadata field to sort the matches by * (post-filter). Unordered when omitted. Not supported with `text`. * ascending (bool): Sort direction when `order_by` is set. * @export * @interface QueryMetadataRequest */ export interface QueryMetadataRequest { /** * Query text for a BM25 full-text leg. Requires an index with at least one full_text field. Omitted/empty leaves the query text-free. * @type {string} * @memberof QueryMetadataRequest */ text?: string | null; /** * full_text fields the text leg searches; omitted means all of them. Naming a non-full_text field raises. * @type {Array} * @memberof QueryMetadataRequest */ textFields?: Array | null; /** * Per-field weights on the summed per-field BM25 scores, parallel to the searched fields. Omitted means 1.0 each. * @type {Array} * @memberof QueryMetadataRequest */ textFieldWeights?: Array | null; /** * Require every query term to match (AND) instead of any (OR, the default). * @type {boolean} * @memberof QueryMetadataRequest */ requireAllTerms?: boolean | null; /** * ID name * @type {string} * @memberof QueryMetadataRequest */ indexName: string; /** * 32-byte encryption key as hex string. Required for SDK-supplied indexes; must be omitted for KMS-backed indexes (the service resolves the KEK via the index's KMSBlob). * @type {string} * @memberof QueryMetadataRequest */ indexKey?: string | null; /** * Arbitrary JSON object stored alongside the vector. Schemaless — the index's `metadata_schema` governs how fields are indexed, not what may be stored. Nested objects are addressable by dot-path in filters (`loc.city`); dates have no native type, store them as epoch millis. * @type {{ [key: string]: any; }} * @memberof QueryMetadataRequest */ filters?: { [key: string]: any; } | null; /** * Cap on the number of ids returned; omit for all matches. Applied after `order_by`, so it yields the first N of the sorted result. * @type {number} * @memberof QueryMetadataRequest */ topK?: number | null; /** * * @type {OrderBy} * @memberof QueryMetadataRequest */ orderBy?: OrderBy | null; /** * Sort direction when `order_by` is a field name. Ignored when `order_by` is a dict (the dict's sign wins). * @type {boolean} * @memberof QueryMetadataRequest */ ascending?: boolean; } /** * Check if a given object implements the QueryMetadataRequest interface. */ export declare function instanceOfQueryMetadataRequest(value: object): value is QueryMetadataRequest; export declare function QueryMetadataRequestFromJSON(json: any): QueryMetadataRequest; export declare function QueryMetadataRequestFromJSONTyped(json: any, ignoreDiscriminator: boolean): QueryMetadataRequest; export declare function QueryMetadataRequestToJSON(json: any): QueryMetadataRequest; export declare function QueryMetadataRequestToJSONTyped(value?: QueryMetadataRequest | null, ignoreDiscriminator?: boolean): any;