/** * Typesense API * An open source search engine for building delightful search experiences. * * The version of the OpenAPI document: 30.0 * * * 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 { DropTokensMode } from './DropTokensMode.js'; /** * * @export * @interface MultiSearchCollectionParameters */ export interface MultiSearchCollectionParameters { /** * The query text to search for in the collection. Use * as the search string to return all documents. This is typically useful when used in conjunction with filter_by. * @type {string} * @memberof MultiSearchCollectionParameters */ q?: string; /** * A list of `string` fields that should be queried against. Multiple fields are separated with a comma. * @type {string} * @memberof MultiSearchCollectionParameters */ queryBy?: string; /** * The relative weight to give each `query_by` field when ranking results. This can be used to boost fields in priority, when looking for matches. Multiple fields are separated with a comma. * @type {string} * @memberof MultiSearchCollectionParameters */ queryByWeights?: string; /** * In a multi-field matching context, this parameter determines how the representative text match score of a record is calculated. Possible values are max_score (default) or max_weight. * @type {string} * @memberof MultiSearchCollectionParameters */ textMatchType?: string; /** * Boolean field to indicate that the last word in the query should be treated as a prefix, and not as a whole word. This is used for building autocomplete and instant search interfaces. Defaults to true. * @type {string} * @memberof MultiSearchCollectionParameters */ prefix?: string; /** * If infix index is enabled for this field, infix searching can be done on a per-field basis by sending a comma separated string parameter called infix to the search query. This parameter can have 3 values; `off` infix search is disabled, which is default `always` infix search is performed along with regular search `fallback` infix search is performed if regular search does not produce results * @type {string} * @memberof MultiSearchCollectionParameters */ infix?: string; /** * There are also 2 parameters that allow you to control the extent of infix searching max_extra_prefix and max_extra_suffix which specify the maximum number of symbols before or after the query that can be present in the token. For example query "K2100" has 2 extra symbols in "6PK2100". By default, any number of prefixes/suffixes can be present for a match. * @type {number} * @memberof MultiSearchCollectionParameters */ maxExtraPrefix?: number; /** * There are also 2 parameters that allow you to control the extent of infix searching max_extra_prefix and max_extra_suffix which specify the maximum number of symbols before or after the query that can be present in the token. For example query "K2100" has 2 extra symbols in "6PK2100". By default, any number of prefixes/suffixes can be present for a match. * @type {number} * @memberof MultiSearchCollectionParameters */ maxExtraSuffix?: number; /** * Filter conditions for refining youropen api validator search results. Separate multiple conditions with &&. * @type {string} * @memberof MultiSearchCollectionParameters */ filterBy?: string; /** * A list of numerical fields and their corresponding sort orders that will be used for ordering your results. Up to 3 sort fields can be specified. The text similarity score is exposed as a special `_text_match` field that you can use in the list of sorting fields. If no `sort_by` parameter is specified, results are sorted by `_text_match:desc,default_sorting_field:desc` * @type {string} * @memberof MultiSearchCollectionParameters */ sortBy?: string; /** * A list of fields that will be used for faceting your results on. Separate multiple fields with a comma. * @type {string} * @memberof MultiSearchCollectionParameters */ facetBy?: string; /** * Maximum number of facet values to be returned. * @type {number} * @memberof MultiSearchCollectionParameters */ maxFacetValues?: number; /** * Facet values that are returned can now be filtered via this parameter. The matching facet text is also highlighted. For example, when faceting by `category`, you can set `facet_query=category:shoe` to return only facet values that contain the prefix "shoe". * @type {string} * @memberof MultiSearchCollectionParameters */ facetQuery?: string; /** * The number of typographical errors (1 or 2) that would be tolerated. Default: 2 * * @type {string} * @memberof MultiSearchCollectionParameters */ numTypos?: string; /** * Results from this specific page number would be fetched. * @type {number} * @memberof MultiSearchCollectionParameters */ page?: number; /** * Number of results to fetch per page. Default: 10 * @type {number} * @memberof MultiSearchCollectionParameters */ perPage?: number; /** * Number of hits to fetch. Can be used as an alternative to the per_page parameter. Default: 10. * * @type {number} * @memberof MultiSearchCollectionParameters */ limit?: number; /** * Identifies the starting point to return hits from a result set. Can be used as an alternative to the page parameter. * @type {number} * @memberof MultiSearchCollectionParameters */ offset?: number; /** * You can aggregate search results into groups or buckets by specify one or more `group_by` fields. Separate multiple fields with a comma. To group on a particular field, it must be a faceted field. * @type {string} * @memberof MultiSearchCollectionParameters */ groupBy?: string; /** * Maximum number of hits to be returned for every group. If the `group_limit` is set as `K` then only the top K hits in each group are returned in the response. Default: 3 * * @type {number} * @memberof MultiSearchCollectionParameters */ groupLimit?: number; /** * Setting this parameter to true will place all documents that have a null value in the group_by field, into a single group. Setting this parameter to false, will cause each document with a null value in the group_by field to not be grouped with other documents. Default: true * * @type {boolean} * @memberof MultiSearchCollectionParameters */ groupMissingValues?: boolean; /** * List of fields from the document to include in the search result * @type {string} * @memberof MultiSearchCollectionParameters */ includeFields?: string; /** * List of fields from the document to exclude in the search result * @type {string} * @memberof MultiSearchCollectionParameters */ excludeFields?: string; /** * List of fields which should be highlighted fully without snippeting * @type {string} * @memberof MultiSearchCollectionParameters */ highlightFullFields?: string; /** * The number of tokens that should surround the highlighted text on each side. Default: 4 * * @type {number} * @memberof MultiSearchCollectionParameters */ highlightAffixNumTokens?: number; /** * The start tag used for the highlighted snippets. Default: `` * * @type {string} * @memberof MultiSearchCollectionParameters */ highlightStartTag?: string; /** * The end tag used for the highlighted snippets. Default: `` * * @type {string} * @memberof MultiSearchCollectionParameters */ highlightEndTag?: string; /** * Field values under this length will be fully highlighted, instead of showing a snippet of relevant portion. Default: 30 * * @type {number} * @memberof MultiSearchCollectionParameters */ snippetThreshold?: number; /** * If the number of results found for a specific query is less than this number, Typesense will attempt to drop the tokens in the query until enough results are found. Tokens that have the least individual hits are dropped first. Set to 0 to disable. Default: 10 * * @type {number} * @memberof MultiSearchCollectionParameters */ dropTokensThreshold?: number; /** * * @type {DropTokensMode} * @memberof MultiSearchCollectionParameters */ dropTokensMode?: DropTokensMode; /** * If the number of results found for a specific query is less than this number, Typesense will attempt to look for tokens with more typos until enough results are found. Default: 100 * * @type {number} * @memberof MultiSearchCollectionParameters */ typoTokensThreshold?: number; /** * Set this parameter to false to disable typos on alphanumerical query tokens. Default: true. * * @type {boolean} * @memberof MultiSearchCollectionParameters */ enableTyposForAlphaNumericalTokens?: boolean; /** * Whether the filter_by condition of the search query should be applicable to curated results (curation definitions, pinned hits, hidden hits, etc.). Default: false * * @type {boolean} * @memberof MultiSearchCollectionParameters */ filterCuratedHits?: boolean; /** * If you have some synonyms defined but want to disable all of them for a particular search query, set enable_synonyms to false. Default: true * * @type {boolean} * @memberof MultiSearchCollectionParameters */ enableSynonyms?: boolean; /** * Flag for enabling/disabling analytics aggregation for specific search queries (for e.g. those originating from a test script). * * @type {boolean} * @memberof MultiSearchCollectionParameters */ enableAnalytics?: boolean; /** * Allow synonym resolution on word prefixes in the query. Default: false * * @type {boolean} * @memberof MultiSearchCollectionParameters */ synonymPrefix?: boolean; /** * Allow synonym resolution on typo-corrected words in the query. Default: 0 * * @type {number} * @memberof MultiSearchCollectionParameters */ synonymNumTypos?: number; /** * A list of records to unconditionally include in the search results at specific positions. An example use case would be to feature or promote certain items on the top of search results. A list of `record_id:hit_position`. Eg: to include a record with ID 123 at Position 1 and another record with ID 456 at Position 5, you'd specify `123:1,456:5`. * You could also use the Curation feature to override search results based on rules. Curations are applied first, followed by `pinned_hits` and finally `hidden_hits`. * * @type {string} * @memberof MultiSearchCollectionParameters */ pinnedHits?: string; /** * A list of records to unconditionally hide from search results. A list of `record_id`s to hide. Eg: to hide records with IDs 123 and 456, you'd specify `123,456`. * You could also use the Curation feature to override search results based on rules. Curations are applied first, followed by `pinned_hits` and finally `hidden_hits`. * * @type {string} * @memberof MultiSearchCollectionParameters */ hiddenHits?: string; /** * Comma separated list of tags to trigger the curations rules that match the tags. * @type {string} * @memberof MultiSearchCollectionParameters */ curationTags?: string; /** * A list of custom fields that must be highlighted even if you don't query for them * * @type {string} * @memberof MultiSearchCollectionParameters */ highlightFields?: string; /** * You can index content from any logographic language into Typesense if you are able to segment / split the text into space-separated words yourself before indexing and querying. * Set this parameter to true to do the same * * @type {boolean} * @memberof MultiSearchCollectionParameters */ preSegmentedQuery?: boolean; /** * Search using a bunch of search parameters by setting this parameter to the name of the existing Preset. * * @type {string} * @memberof MultiSearchCollectionParameters */ preset?: string; /** * If you have some curation sets defined but want to disable all of them during query time, you can do that by setting this parameter to false * * @type {boolean} * @memberof MultiSearchCollectionParameters */ enableCurations?: boolean; /** * Set this parameter to true to ensure that an exact match is ranked above the others * * @type {boolean} * @memberof MultiSearchCollectionParameters */ prioritizeExactMatch?: boolean; /** * Make Typesense prioritize documents where the query words appear earlier in the text. * * @type {boolean} * @memberof MultiSearchCollectionParameters */ prioritizeTokenPosition?: boolean; /** * Make Typesense prioritize documents where the query words appear in more number of fields. * * @type {boolean} * @memberof MultiSearchCollectionParameters */ prioritizeNumMatchingFields?: boolean; /** * Make Typesense disable typos for numerical tokens. * * @type {boolean} * @memberof MultiSearchCollectionParameters */ enableTyposForNumericalTokens?: boolean; /** * Setting this to true will make Typesense consider all prefixes and typo corrections of the words in the query without stopping early when enough results are found (drop_tokens_threshold and typo_tokens_threshold configurations are ignored). * * @type {boolean} * @memberof MultiSearchCollectionParameters */ exhaustiveSearch?: boolean; /** * Typesense will attempt to return results early if the cutoff time has elapsed. This is not a strict guarantee and facet computation is not bound by this parameter. * * @type {number} * @memberof MultiSearchCollectionParameters */ searchCutoffMs?: number; /** * Enable server side caching of search query results. By default, caching is disabled. * * @type {boolean} * @memberof MultiSearchCollectionParameters */ useCache?: boolean; /** * The duration (in seconds) that determines how long the search query is cached. This value can be set on a per-query basis. Default: 60. * * @type {number} * @memberof MultiSearchCollectionParameters */ cacheTtl?: number; /** * Minimum word length for 1-typo correction to be applied. The value of num_typos is still treated as the maximum allowed typos. * * @type {number} * @memberof MultiSearchCollectionParameters */ minLen1typo?: number; /** * Minimum word length for 2-typo correction to be applied. The value of num_typos is still treated as the maximum allowed typos. * * @type {number} * @memberof MultiSearchCollectionParameters */ minLen2typo?: number; /** * Vector query expression for fetching documents "closest" to a given query/document vector. * * @type {string} * @memberof MultiSearchCollectionParameters */ vectorQuery?: string; /** * Timeout (in milliseconds) for fetching remote embeddings. * * @type {number} * @memberof MultiSearchCollectionParameters */ remoteEmbeddingTimeoutMs?: number; /** * Number of times to retry fetching remote embeddings. * * @type {number} * @memberof MultiSearchCollectionParameters */ remoteEmbeddingNumTries?: number; /** * Choose the underlying faceting strategy used. Comma separated string of allows values: exhaustive, top_values or automatic (default). * * @type {string} * @memberof MultiSearchCollectionParameters */ facetStrategy?: string; /** * Name of the stopwords set to apply for this search, the keywords present in the set will be removed from the search query. * * @type {string} * @memberof MultiSearchCollectionParameters */ stopwords?: string; /** * Comma separated string of nested facet fields whose parent object should be returned in facet response. * * @type {string} * @memberof MultiSearchCollectionParameters */ facetReturnParent?: string; /** * The base64 encoded audio file in 16 khz 16-bit WAV format. * * @type {string} * @memberof MultiSearchCollectionParameters */ voiceQuery?: string; /** * Enable conversational search. * * @type {boolean} * @memberof MultiSearchCollectionParameters */ conversation?: boolean; /** * The Id of Conversation Model to be used. * * @type {string} * @memberof MultiSearchCollectionParameters */ conversationModelId?: string; /** * The Id of a previous conversation to continue, this tells Typesense to include prior context when communicating with the LLM. * * @type {string} * @memberof MultiSearchCollectionParameters */ conversationId?: string; /** * The collection to search in. * * @type {string} * @memberof MultiSearchCollectionParameters */ collection?: string; /** * A separate search API key for each search within a multi_search request * @type {string} * @memberof MultiSearchCollectionParameters */ xTypesenseApiKey?: string; /** * When true, computes both text match and vector distance scores for all matches in hybrid search. Documents found only through keyword search will get a vector distance score, and documents found only through vector search will get a text match score. * * @type {boolean} * @memberof MultiSearchCollectionParameters */ rerankHybridMatches?: boolean; } /** * Check if a given object implements the MultiSearchCollectionParameters interface. */ export declare function instanceOfMultiSearchCollectionParameters(value: object): value is MultiSearchCollectionParameters; export declare function MultiSearchCollectionParametersFromJSON(json: any): MultiSearchCollectionParameters; export declare function MultiSearchCollectionParametersFromJSONTyped(json: any, ignoreDiscriminator: boolean): MultiSearchCollectionParameters; export declare function MultiSearchCollectionParametersToJSON(json: any): MultiSearchCollectionParameters; export declare function MultiSearchCollectionParametersToJSONTyped(value?: MultiSearchCollectionParameters | null, ignoreDiscriminator?: boolean): any;