π Powerful, lightning-fast search integration for MedusaJS using Meilisearch
π Powerful, lightning-fast search integration for MedusaJS using Meilisearch
graph TDA[MedusaJS Database] -->|Indexing| B[Meilisearch]B -->|Instant Search| C[Client Application]subgraph Search ConfigurationConfig[Meilisearch Config]Indexes[Multiple Index Settings]Filters[Advanced Filtering]end
Install the package using npm:
npm install @vymalo/medusa-meilisearch
Or using yarn:
yarn add @vymalo/medusa-meilisearch
interface MeilisearchAddOnOptions {// Meilisearch client configurationconfig: Config; // Meilisearch connection settings// Index-specific settingssettings?: {[key: string]: SearchTypes.IndexSettings;};}
interface IndexSettings {// Provider-specific index configurationindexSettings: Record<string, unknown>;// Primary key for unique document identificationprimaryKey?: string;// Optional document transformertransformer?: (document: any) => any;}
indexSettings: Allows provider-specific configuration
primaryKey:
transformer:
modules: [{resolve: '@vymalo/medusa-meilisearch',options: {// Meilisearch connection configurationconfig: {host: process.env.MEILISEARCH_HOST,apiKey: process.env.MEILISEARCH_API_KEY,},// Index-specific settingssettings: {products: {// Meilisearch-specific index settingsindexSettings: {searchableAttributes: ['title', 'description'],displayedAttributes: ['id', 'title', 'price'],filterableAttributes: ['category', 'price']},// Specify primary keyprimaryKey: 'id',// Transform documents before indexingtransformer: (product) => ({...product,// Add custom transformationssearchText: `${product.title} ${product.description}`,// Normalize or clean dataprice: Number(product.price).toFixed(2)})}}},},]
Required:
Contributions welcome!