export type QueryVector = string | Array; export type ResultType = 'Count' | 'Topk' | 'TopkCount'; export type RangeType = 'CountWithinRange' | 'CountAboveRange' | 'CountBelowRange'; export type Vec = Array; export type DistanceUnit = 'Kilometers' | 'Miles'; export type QueryFacet = {U8: {field: string, range_type: RangeType, ranges: Array>}} | {U16: {field: string, range_type: RangeType, ranges: Array>}} | {U32: {field: string, range_type: RangeType, ranges: Array>}} | {U64: {field: string, range_type: RangeType, ranges: Array>}} | {I8: {field: string, range_type: RangeType, ranges: Array>}} | {I16: {field: string, range_type: RangeType, ranges: Array>}} | {I32: {field: string, range_type: RangeType, ranges: Array>}} | {I64: {field: string, range_type: RangeType, ranges: Array>}} | {Timestamp: {field: string, range_type: RangeType, ranges: Array>}} | {F32: {field: string, range_type: RangeType, ranges: Array>}} | {F64: {field: string, range_type: RangeType, ranges: Array>}} | {String16: {field: string, prefix: string, length: number}} | {String32: {field: string, prefix: string, length: number}} | {StringSet16: {field: string, prefix: string, length: number}} | {StringSet32: {field: string, prefix: string, length: number}} | {Point: {field: string, range_type: RangeType, ranges: Array>, base: Vec, unit: DistanceUnit}} | 'None'; export type RangeU8 = {start: number, end: number}; export type RangeU16 = {start: number, end: number}; export type RangeU32 = {start: number, end: number}; export type RangeU64 = {start: number, end: number}; export type RangeI8 = {start: number, end: number}; export type RangeI16 = {start: number, end: number}; export type RangeI32 = {start: number, end: number}; export type RangeI64 = {start: number, end: number}; export type RangeF32 = {start: number, end: number}; export type RangeF64 = {start: number, end: number}; export type FacetFilter = {U8: {field: string, filter: RangeU8}} | {U16: {field: string, filter: RangeU16}} | {U32: {field: string, filter: RangeU32}} | {U64: {field: string, filter: RangeU64}} | {I8: {field: string, filter: RangeI8}} | {I16: {field: string, filter: RangeI16}} | {I32: {field: string, filter: RangeI32}} | {I64: {field: string, filter: RangeI64}} | {Timestamp: {field: string, filter: RangeI64}} | {F32: {field: string, filter: RangeF32}} | {F64: {field: string, filter: RangeF64}} | {String16: {field: string, filter: Array}} | {StringSet16: {field: string, filter: Array}} | {String32: {field: string, filter: Array}} | {StringSet32: {field: string, filter: Array}} | {Point: {field: string, filter: Array}}; export type SortOrder = 'Ascending' | 'Descending'; export type FacetValue = {Bool: boolean} | {U8: number} | {U16: number} | {U32: number} | {U64: number} | {I8: number} | {I16: number} | {I32: number} | {I64: number} | {Timestamp: number} | {F32: number} | {F64: number} | {String: string} | {StringSet: Array} | {Point: Vec} | 'None'; export type ResultSort = {field: string, order: SortOrder, base?: FacetValue | undefined}; export type QueryType = 'Union' | 'Intersection' | 'Phrase' | 'Not'; export type QueryRewriting = 'SearchOnly' | {SearchSuggest: {correct?: (number | null) | undefined, distance: number, term_length_threshold?: (Array | null) | undefined, complete?: (number | null) | undefined, length?: (number | null) | undefined}} | {SearchRewrite: {correct?: (number | null) | undefined, distance: number, term_length_threshold?: (Array | null) | undefined, complete?: (number | null) | undefined, length?: (number | null) | undefined}} | {SuggestOnly: {correct?: (number | null) | undefined, distance: number, term_length_threshold?: (Array | null) | undefined, complete?: (number | null) | undefined, length?: (number | null) | undefined}}; export type AnnMode = 'All' | {Nprobe: number} | {Similaritythreshold: number} | {NprobeSimilaritythreshold: Array>}; export type SearchMode = 'Lexical' | {Vector: {similarity_threshold?: (number | null) | undefined, ann_mode: AnnMode}} | {Hybrid: {similarity_threshold?: (number | null) | undefined, ann_mode: AnnMode}}; export type DistanceField = {field: string, distance: string, base: Vec, unit: DistanceUnit}; export type Highlight = {field: string, name?: string | undefined, fragment_number?: number | undefined, fragment_size?: number | undefined, highlight_markup?: boolean | undefined, pre_tags?: string | undefined, post_tags?: string | undefined}; export type DocumentOption = {fields?: Array | undefined, distance_fields?: Array | undefined, highlights?: Array | undefined}; export type SearchRequest = {query_string?: string | undefined, query_vector?: (QueryVector | null) | undefined, enable_empty_query?: boolean | undefined, offset?: number | undefined, length?: number | undefined, result_type?: ResultType | undefined, include_uncommitted?: boolean | undefined, field_filter?: Array | undefined, query_facets?: Array | undefined, facet_filter?: Array | undefined, result_sort?: Array | undefined, query_type_default?: QueryType | undefined, query_rewriting?: QueryRewriting | undefined, search_mode?: SearchMode | undefined, return_documents?: (DocumentOption | null) | undefined}; export type DeleteApiApiV1IndexIndexIdDocArgs = {apikey: string, index_id: number, body: SearchRequest}; export type DeleteApiApiV1IndexIndexIdDocOptions = {baseUrl?: string | undefined, fetch?: typeof fetch | undefined}; /** * Delete Document(s) by Request Object * * DELETE /api/v1/index/{index_id}/doc */ export const deleteApiApiV1IndexIndexIdDoc = async (args: DeleteApiApiV1IndexIndexIdDocArgs, options?: DeleteApiApiV1IndexIndexIdDocOptions) => { const {baseUrl = "http://127.0.0.1", fetch: fetchFn = fetch} = options ?? {} const query = new URLSearchParams() const headers = new Headers() headers.set('content-type', "application/json") headers.set('accept', "text/plain") if (args.apikey != null) headers.set("apikey", String(args.apikey)) const url = `${baseUrl.replace(/\/+$/, '')}/api/v1/index/${encodeURIComponent(String(args.index_id))}/doc${query.size > 0 ? `?${query}` : ''}` const res = await fetchFn(url, {method: "DELETE", headers, body: JSON.stringify(args.body)}) if (!res.ok) throw new Error(`Request failed with status ${res.status}`, {cause: {status: res.status, body: await res.text()}}) return res.text() };