meilisearch
Version:
The Meilisearch JS client for Node.js and the browser.
614 lines • 22.6 kB
TypeScript
import type { Config, SearchResponse, SearchParams, IndexObject, IndexOptions, IndexStats, DocumentsQuery, DocumentQuery, DocumentOptions, Settings, Synonyms, StopWords, RankingRules, DistinctAttribute, FilterableAttributes, SortableAttributes, SearchableAttributes, DisplayedAttributes, TypoTolerance, PaginationSettings, Faceting, ResourceResults, RawDocumentAdditionOptions, ContentType, DocumentsIds, DocumentsDeletionQuery, SearchForFacetValuesParams, SearchForFacetValuesResponse, SeparatorTokens, NonSeparatorTokens, Dictionary, ProximityPrecision, Embedders, SearchCutoffMs, SearchSimilarDocumentsParams, LocalizedAttributes, UpdateDocumentsByFunctionOptions, ExtraRequestInit, PrefixSearch, RecordAny, EnqueuedTaskPromise } from "./types/index.js";
import { HttpRequests } from "./http-requests.js";
import { TaskClient } from "./task.js";
export declare class Index<T extends RecordAny = RecordAny> {
#private;
uid: string;
primaryKey: string | undefined;
createdAt: Date | undefined;
updatedAt: Date | undefined;
httpRequest: HttpRequests;
tasks: TaskClient;
/**
* @param config - Request configuration options
* @param uid - UID of the index
* @param primaryKey - Primary Key of the index
*/
constructor(config: Config, uid: string, primaryKey?: string);
/**
* Search for documents into an index
*
* @param query - Query string
* @param options - Search options
* @param config - Additional request configuration options
* @returns Promise containing the search response
*/
search<D extends RecordAny = T, S extends SearchParams = SearchParams>(query?: string | null, options?: S, extraRequestInit?: ExtraRequestInit): Promise<SearchResponse<D, S>>;
/**
* Search for documents into an index using the GET method
*
* @param query - Query string
* @param options - Search options
* @param config - Additional request configuration options
* @returns Promise containing the search response
*/
searchGet<D extends RecordAny = T, S extends SearchParams = SearchParams>(query?: string | null, options?: S, extraRequestInit?: ExtraRequestInit): Promise<SearchResponse<D, S>>;
/**
* Search for facet values
*
* @param params - Parameters used to search on the facets
* @param config - Additional request configuration options
* @returns Promise containing the search response
*/
searchForFacetValues(params: SearchForFacetValuesParams, extraRequestInit?: ExtraRequestInit): Promise<SearchForFacetValuesResponse>;
/**
* Search for similar documents
*
* @param params - Parameters used to search for similar documents
* @returns Promise containing the search response
*/
searchSimilarDocuments<D extends RecordAny = T, S extends SearchParams = SearchParams>(params: SearchSimilarDocumentsParams): Promise<SearchResponse<D, S>>;
/**
* Get index information.
*
* @returns Promise containing index information
*/
getRawInfo(): Promise<IndexObject>;
/**
* Fetch and update Index information.
*
* @returns Promise to the current Index object with updated information
*/
fetchInfo(): Promise<this>;
/**
* Get Primary Key.
*
* @returns Promise containing the Primary Key of the index
*/
fetchPrimaryKey(): Promise<string | undefined>;
/**
* Create an index.
*
* @param uid - Unique identifier of the Index
* @param options - Index options
* @param config - Request configuration options
* @returns Newly created Index object
*/
static create(uid: string, options: IndexOptions | undefined, config: Config): EnqueuedTaskPromise;
/**
* Update an index.
*
* @param data - Data to update
* @returns Promise to the current Index object with updated information
*/
update(data?: IndexOptions): EnqueuedTaskPromise;
/**
* Delete an index.
*
* @returns Promise which resolves when index is deleted successfully
*/
delete(): EnqueuedTaskPromise;
/**
* Get stats of an index
*
* @returns Promise containing object with stats of the index
*/
getStats(): Promise<IndexStats>;
/**
* Get documents of an index.
*
* @param params - Parameters to browse the documents. Parameters can contain
* the `filter` field only available in Meilisearch v1.2 and newer
* @returns Promise containing the returned documents
*/
getDocuments<D extends RecordAny = T>(params?: DocumentsQuery<D>): Promise<ResourceResults<D[]>>;
/**
* Get one document
*
* @param documentId - Document ID
* @param parameters - Parameters applied on a document
* @returns Promise containing Document response
*/
getDocument<D extends RecordAny = T>(documentId: string | number, parameters?: DocumentQuery<T>): Promise<D>;
/**
* Add or replace multiples documents to an index
*
* @param documents - Array of Document objects to add/replace
* @param options - Options on document addition
* @returns Promise containing an EnqueuedTask
*/
addDocuments(documents: T[], options?: DocumentOptions): EnqueuedTaskPromise;
/**
* Add or replace multiples documents in a string format to an index. It only
* supports csv, ndjson and json formats.
*
* @param documents - Documents provided in a string to add/replace
* @param contentType - Content type of your document:
* 'text/csv'|'application/x-ndjson'|'application/json'
* @param options - Options on document addition
* @returns Promise containing an EnqueuedTask
*/
addDocumentsFromString(documents: string, contentType: ContentType, queryParams?: RawDocumentAdditionOptions): EnqueuedTaskPromise;
/**
* Add or replace multiples documents to an index in batches
*
* @param documents - Array of Document objects to add/replace
* @param batchSize - Size of the batch
* @param options - Options on document addition
* @returns Promise containing array of enqueued task objects for each batch
*/
addDocumentsInBatches(documents: T[], batchSize?: number, options?: DocumentOptions): EnqueuedTaskPromise[];
/**
* Add or update multiples documents to an index
*
* @param documents - Array of Document objects to add/update
* @param options - Options on document update
* @returns Promise containing an EnqueuedTask
*/
updateDocuments(documents: Partial<T>[], options?: DocumentOptions): EnqueuedTaskPromise;
/**
* Add or update multiples documents to an index in batches
*
* @param documents - Array of Document objects to add/update
* @param batchSize - Size of the batch
* @param options - Options on document update
* @returns Promise containing array of enqueued task objects for each batch
*/
updateDocumentsInBatches(documents: Partial<T>[], batchSize?: number, options?: DocumentOptions): EnqueuedTaskPromise[];
/**
* Add or update multiples documents in a string format to an index. It only
* supports csv, ndjson and json formats.
*
* @param documents - Documents provided in a string to add/update
* @param contentType - Content type of your document:
* 'text/csv'|'application/x-ndjson'|'application/json'
* @param queryParams - Options on raw document addition
* @returns Promise containing an EnqueuedTask
*/
updateDocumentsFromString(documents: string, contentType: ContentType, queryParams?: RawDocumentAdditionOptions): EnqueuedTaskPromise;
/**
* Delete one document
*
* @param documentId - Id of Document to delete
* @returns Promise containing an EnqueuedTask
*/
deleteDocument(documentId: string | number): EnqueuedTaskPromise;
/**
* Delete multiples documents of an index.
*
* @param params - Params value can be:
*
* - DocumentsDeletionQuery: An object containing the parameters to customize
* your document deletion. Only available in Meilisearch v1.2 and newer
* - DocumentsIds: An array of document ids to delete
*
* @returns Promise containing an EnqueuedTask
*/
deleteDocuments(params: DocumentsDeletionQuery | DocumentsIds): EnqueuedTaskPromise;
/**
* Delete all documents of an index
*
* @returns Promise containing an EnqueuedTask
*/
deleteAllDocuments(): EnqueuedTaskPromise;
/**
* This is an EXPERIMENTAL feature, which may break without a major version.
* It's available after Meilisearch v1.10.
*
* More info about the feature:
* https://github.com/orgs/meilisearch/discussions/762 More info about
* experimental features in general:
* https://www.meilisearch.com/docs/reference/api/experimental-features
*
* @param options - Object containing the function string and related options
* @returns Promise containing an EnqueuedTask
*/
updateDocumentsByFunction(options: UpdateDocumentsByFunctionOptions): EnqueuedTaskPromise;
/**
* Retrieve all settings
*
* @returns Promise containing Settings object
*/
getSettings(): Promise<Settings>;
/**
* Update all settings Any parameters not provided will be left unchanged.
*
* @param settings - Object containing parameters with their updated values
* @returns Promise containing an EnqueuedTask
*/
updateSettings(settings: Settings): EnqueuedTaskPromise;
/**
* Reset settings.
*
* @returns Promise containing an EnqueuedTask
*/
resetSettings(): EnqueuedTaskPromise;
/**
* Get the pagination settings.
*
* @returns Promise containing object of pagination settings
*/
getPagination(): Promise<PaginationSettings>;
/**
* Update the pagination settings.
*
* @param pagination - Pagination object
* @returns Promise containing an EnqueuedTask
*/
updatePagination(pagination: PaginationSettings): EnqueuedTaskPromise;
/**
* Reset the pagination settings.
*
* @returns Promise containing an EnqueuedTask
*/
resetPagination(): EnqueuedTaskPromise;
/**
* Get the list of all synonyms
*
* @returns Promise containing record of synonym mappings
*/
getSynonyms(): Promise<Record<string, string[]>>;
/**
* Update the list of synonyms. Overwrite the old list.
*
* @param synonyms - Mapping of synonyms with their associated words
* @returns Promise containing an EnqueuedTask
*/
updateSynonyms(synonyms: Synonyms): EnqueuedTaskPromise;
/**
* Reset the synonym list to be empty again
*
* @returns Promise containing an EnqueuedTask
*/
resetSynonyms(): EnqueuedTaskPromise;
/**
* Get the list of all stop-words
*
* @returns Promise containing array of stop-words
*/
getStopWords(): Promise<string[]>;
/**
* Update the list of stop-words. Overwrite the old list.
*
* @param stopWords - Array of strings that contains the stop-words.
* @returns Promise containing an EnqueuedTask
*/
updateStopWords(stopWords: StopWords): EnqueuedTaskPromise;
/**
* Reset the stop-words list to be empty again
*
* @returns Promise containing an EnqueuedTask
*/
resetStopWords(): EnqueuedTaskPromise;
/**
* Get the list of all ranking-rules
*
* @returns Promise containing array of ranking-rules
*/
getRankingRules(): Promise<string[]>;
/**
* Update the list of ranking-rules. Overwrite the old list.
*
* @param rankingRules - Array that contain ranking rules sorted by order of
* importance.
* @returns Promise containing an EnqueuedTask
*/
updateRankingRules(rankingRules: RankingRules): EnqueuedTaskPromise;
/**
* Reset the ranking rules list to its default value
*
* @returns Promise containing an EnqueuedTask
*/
resetRankingRules(): EnqueuedTaskPromise;
/**
* Get the distinct-attribute
*
* @returns Promise containing the distinct-attribute of the index
*/
getDistinctAttribute(): Promise<DistinctAttribute>;
/**
* Update the distinct-attribute.
*
* @param distinctAttribute - Field name of the distinct-attribute
* @returns Promise containing an EnqueuedTask
*/
updateDistinctAttribute(distinctAttribute: DistinctAttribute): EnqueuedTaskPromise;
/**
* Reset the distinct-attribute.
*
* @returns Promise containing an EnqueuedTask
*/
resetDistinctAttribute(): EnqueuedTaskPromise;
/**
* Get the filterable-attributes
*
* @returns Promise containing an array of filterable-attributes
*/
getFilterableAttributes(): Promise<FilterableAttributes>;
/**
* Update the filterable-attributes.
*
* @param filterableAttributes - Array of strings containing the attributes
* that can be used as filters at query time
* @returns Promise containing an EnqueuedTask
*/
updateFilterableAttributes(filterableAttributes: FilterableAttributes): EnqueuedTaskPromise;
/**
* Reset the filterable-attributes.
*
* @returns Promise containing an EnqueuedTask
*/
resetFilterableAttributes(): EnqueuedTaskPromise;
/**
* Get the sortable-attributes
*
* @returns Promise containing array of sortable-attributes
*/
getSortableAttributes(): Promise<string[]>;
/**
* Update the sortable-attributes.
*
* @param sortableAttributes - Array of strings containing the attributes that
* can be used to sort search results at query time
* @returns Promise containing an EnqueuedTask
*/
updateSortableAttributes(sortableAttributes: SortableAttributes): EnqueuedTaskPromise;
/**
* Reset the sortable-attributes.
*
* @returns Promise containing an EnqueuedTask
*/
resetSortableAttributes(): EnqueuedTaskPromise;
/**
* Get the searchable-attributes
*
* @returns Promise containing array of searchable-attributes
*/
getSearchableAttributes(): Promise<string[]>;
/**
* Update the searchable-attributes.
*
* @param searchableAttributes - Array of strings that contains searchable
* attributes sorted by order of importance(most to least important)
* @returns Promise containing an EnqueuedTask
*/
updateSearchableAttributes(searchableAttributes: SearchableAttributes): EnqueuedTaskPromise;
/**
* Reset the searchable-attributes.
*
* @returns Promise containing an EnqueuedTask
*/
resetSearchableAttributes(): EnqueuedTaskPromise;
/**
* Get the displayed-attributes
*
* @returns Promise containing array of displayed-attributes
*/
getDisplayedAttributes(): Promise<string[]>;
/**
* Update the displayed-attributes.
*
* @param displayedAttributes - Array of strings that contains attributes of
* an index to display
* @returns Promise containing an EnqueuedTask
*/
updateDisplayedAttributes(displayedAttributes: DisplayedAttributes): EnqueuedTaskPromise;
/**
* Reset the displayed-attributes.
*
* @returns Promise containing an EnqueuedTask
*/
resetDisplayedAttributes(): EnqueuedTaskPromise;
/**
* Get the typo tolerance settings.
*
* @returns Promise containing the typo tolerance settings.
*/
getTypoTolerance(): Promise<TypoTolerance>;
/**
* Update the typo tolerance settings.
*
* @param typoTolerance - Object containing the custom typo tolerance
* settings.
* @returns Promise containing object of the enqueued update
*/
updateTypoTolerance(typoTolerance: TypoTolerance): EnqueuedTaskPromise;
/**
* Reset the typo tolerance settings.
*
* @returns Promise containing object of the enqueued update
*/
resetTypoTolerance(): EnqueuedTaskPromise;
/**
* Get the faceting settings.
*
* @returns Promise containing object of faceting index settings
*/
getFaceting(): Promise<Faceting>;
/**
* Update the faceting settings.
*
* @param faceting - Faceting index settings object
* @returns Promise containing an EnqueuedTask
*/
updateFaceting(faceting: Faceting): EnqueuedTaskPromise;
/**
* Reset the faceting settings.
*
* @returns Promise containing an EnqueuedTask
*/
resetFaceting(): EnqueuedTaskPromise;
/**
* Get the list of all separator tokens.
*
* @returns Promise containing array of separator tokens
*/
getSeparatorTokens(): Promise<string[]>;
/**
* Update the list of separator tokens. Overwrite the old list.
*
* @param separatorTokens - Array that contains separator tokens.
* @returns Promise containing an EnqueuedTask or null
*/
updateSeparatorTokens(separatorTokens: SeparatorTokens): EnqueuedTaskPromise;
/**
* Reset the separator tokens list to its default value
*
* @returns Promise containing an EnqueuedTask
*/
resetSeparatorTokens(): EnqueuedTaskPromise;
/**
* Get the list of all non-separator tokens.
*
* @returns Promise containing array of non-separator tokens
*/
getNonSeparatorTokens(): Promise<string[]>;
/**
* Update the list of non-separator tokens. Overwrite the old list.
*
* @param nonSeparatorTokens - Array that contains non-separator tokens.
* @returns Promise containing an EnqueuedTask or null
*/
updateNonSeparatorTokens(nonSeparatorTokens: NonSeparatorTokens): EnqueuedTaskPromise;
/**
* Reset the non-separator tokens list to its default value
*
* @returns Promise containing an EnqueuedTask
*/
resetNonSeparatorTokens(): EnqueuedTaskPromise;
/**
* Get the dictionary settings of a Meilisearch index.
*
* @returns Promise containing the dictionary settings
*/
getDictionary(): Promise<string[]>;
/**
* Update the dictionary settings. Overwrite the old settings.
*
* @param dictionary - Array that contains the new dictionary settings.
* @returns Promise containing an EnqueuedTask or null
*/
updateDictionary(dictionary: Dictionary): EnqueuedTaskPromise;
/**
* Reset the dictionary settings to its default value
*
* @returns Promise containing an EnqueuedTask
*/
resetDictionary(): EnqueuedTaskPromise;
/**
* Get the proximity precision settings of a Meilisearch index.
*
* @returns Promise containing the proximity precision settings
*/
getProximityPrecision(): Promise<ProximityPrecision>;
/**
* Update the proximity precision settings. Overwrite the old settings.
*
* @param proximityPrecision - String that contains the new proximity
* precision settings.
* @returns Promise containing an EnqueuedTask or null
*/
updateProximityPrecision(proximityPrecision: ProximityPrecision): EnqueuedTaskPromise;
/**
* Reset the proximity precision settings to its default value
*
* @returns Promise containing an EnqueuedTask
*/
resetProximityPrecision(): EnqueuedTaskPromise;
/**
* Get the embedders settings of a Meilisearch index.
*
* @returns Promise containing the embedders settings
*/
getEmbedders(): Promise<Embedders>;
/**
* Update the embedders settings. Overwrite the old settings.
*
* @param embedders - Object that contains the new embedders settings.
* @returns Promise containing an EnqueuedTask or null
*/
updateEmbedders(embedders: Embedders): EnqueuedTaskPromise;
/**
* Reset the embedders settings to its default value
*
* @returns Promise containing an EnqueuedTask
*/
resetEmbedders(): EnqueuedTaskPromise;
/**
* Get the SearchCutoffMs settings.
*
* @returns Promise containing object of SearchCutoffMs settings
*/
getSearchCutoffMs(): Promise<SearchCutoffMs>;
/**
* Update the SearchCutoffMs settings.
*
* @param searchCutoffMs - Object containing SearchCutoffMsSettings
* @returns Promise containing an EnqueuedTask
*/
updateSearchCutoffMs(searchCutoffMs: SearchCutoffMs): EnqueuedTaskPromise;
/**
* Reset the SearchCutoffMs settings.
*
* @returns Promise containing an EnqueuedTask
*/
resetSearchCutoffMs(): EnqueuedTaskPromise;
/**
* Get the localized attributes settings.
*
* @returns Promise containing object of localized attributes settings
*/
getLocalizedAttributes(): Promise<LocalizedAttributes>;
/**
* Update the localized attributes settings.
*
* @param localizedAttributes - Localized attributes object
* @returns Promise containing an EnqueuedTask
*/
updateLocalizedAttributes(localizedAttributes: LocalizedAttributes): EnqueuedTaskPromise;
/**
* Reset the localized attributes settings.
*
* @returns Promise containing an EnqueuedTask
*/
resetLocalizedAttributes(): EnqueuedTaskPromise;
/**
* Get the facet search settings.
*
* @returns Promise containing object of facet search settings
*/
getFacetSearch(): Promise<boolean>;
/**
* Update the facet search settings.
*
* @param facetSearch - Boolean value
* @returns Promise containing an EnqueuedTask
*/
updateFacetSearch(facetSearch: boolean): EnqueuedTaskPromise;
/**
* Reset the facet search settings.
*
* @returns Promise containing an EnqueuedTask
*/
resetFacetSearch(): EnqueuedTaskPromise;
/**
* Get the prefix search settings.
*
* @returns Promise containing object of prefix search settings
*/
getPrefixSearch(): Promise<PrefixSearch>;
/**
* Update the prefix search settings.
*
* @param prefixSearch - PrefixSearch value
* @returns Promise containing an EnqueuedTask
*/
updatePrefixSearch(prefixSearch: PrefixSearch): EnqueuedTaskPromise;
/**
* Reset the prefix search settings.
*
* @returns Promise containing an EnqueuedTask
*/
resetPrefixSearch(): EnqueuedTaskPromise;
}
//# sourceMappingURL=indexes.d.ts.map