@rokmohar/medusa-plugin-meilisearch
Version:
Meilisearch plugin for Medusa 2
56 lines • 3.07 kB
TypeScript
import { DocumentsDeletionQuery, DocumentsIds, Meilisearch } from 'meilisearch';
import { SearchTypes } from '@medusajs/types';
import { SearchUtils } from '@medusajs/utils';
import { AddDocumentsOptions, MeilisearchPluginOptions } from '../types';
import { MeiliSearchEmbedder } from '../utils/embedder';
export declare class MeiliSearchService extends SearchUtils.AbstractSearchService {
static identifier: string;
isDefault: boolean;
protected readonly config_: MeilisearchPluginOptions;
protected readonly client_: Meilisearch;
protected readonly embedder_: MeiliSearchEmbedder;
constructor(cradle: unknown, options: MeilisearchPluginOptions);
protected getLanguageIndexName(baseKey: string, language?: string): string;
getFieldsForType(type: string): string[];
getIndexesByType(type: string): string[];
createIndex(indexName: string, options?: Record<string, unknown>): Promise<import("meilisearch").EnqueuedTask>;
getIndex(indexName: string): import("meilisearch").Index<import("meilisearch").RecordAny>;
addDocuments(indexName: string, documents: unknown[], _type: string, options?: AddDocumentsOptions): Promise<import("meilisearch").EnqueuedTask>;
replaceDocuments(indexName: string, documents: unknown[], type: string, options?: AddDocumentsOptions): Promise<import("meilisearch").EnqueuedTask>;
deleteDocument(indexName: string, documentId: string | number, language?: string): Promise<import("meilisearch").EnqueuedTask>;
deleteDocuments(indexName: string, documents: DocumentsDeletionQuery | DocumentsIds, language?: string): Promise<import("meilisearch").EnqueuedTask>;
deleteAllDocuments(indexName: string, language?: string): Promise<import("meilisearch").EnqueuedTask>;
search(indexName: string, query: string, options: {
language?: string;
paginationOptions?: Record<string, unknown>;
filter?: string;
additionalOptions?: Record<string, unknown>;
semanticSearch?: boolean;
semanticRatio?: number;
attributesToRetrieve?: string[];
}): Promise<import("meilisearch").SearchResponse<import("meilisearch").RecordAny, Record<string, unknown>>>;
updateSettings(indexName: string, settings: Pick<SearchTypes.IndexSettings, 'indexSettings' | 'primaryKey'>): Promise<void[] | undefined>;
private updateIndexSettings;
upsertIndex(indexName: string, settings: Pick<SearchTypes.IndexSettings, 'primaryKey'>): Promise<void>;
private getTransformedDocuments;
/**
* Get embedder configuration status for admin panel
* Delegates to the embedder service
*/
getVectorSearchStatus(): {
enabled: boolean;
embeddingFields: never[];
semanticRatio: number;
provider?: undefined;
model?: undefined;
dimensions?: undefined;
} | {
enabled: boolean;
provider: "ollama" | "openai";
model: string;
dimensions: number;
embeddingFields: string[];
semanticRatio: number;
};
}
//# sourceMappingURL=meilisearch.d.ts.map