Подключите быстрый поиск с MeiliSearch
🔍 Powerful, lightning-fast search integration for MedusaJS using Meilisearch
1graph TD2 A[MedusaJS Database] -->|Indexing| B[Meilisearch]3 B -->|Instant Search| C[Client Application]4 5 subgraph Search Configuration6 Config[Meilisearch Config]7 Indexes[Multiple Index Settings]8 Filters[Advanced Filtering]9 endInstall the package using npm:
npm install @vymalo/medusa-meilisearchOr using yarn:
yarn add @vymalo/medusa-meilisearch1interface MeilisearchAddOnOptions {2 // Meilisearch client configuration3 config: Config; // Meilisearch connection settings4
5 // Index-specific settings6 settings?: {7 [key: string]: SearchTypes.IndexSettings;8 };9}1interface IndexSettings {2 // Provider-specific index configuration3 indexSettings: Record<string, unknown>;4
5 // Primary key for unique document identification6 primaryKey?: string;7
8 // Optional document transformer9 transformer?: (document: any) => any;10}indexSettings: Allows provider-specific configuration
primaryKey:
transformer:
1modules: [2 {3 resolve: '@vymalo/medusa-meilisearch',4 options: {5 // Meilisearch connection configuration6 config: {7 host: process.env.MEILISEARCH_HOST,8 apiKey: process.env.MEILISEARCH_API_KEY,9 },10
11 // Index-specific settings12 settings: {13 products: {14 // Meilisearch-specific index settings15 indexSettings: {16 searchableAttributes: ['title', 'description'],17 displayedAttributes: ['id', 'title', 'price'],18 filterableAttributes: ['category', 'price']19 },20
21 // Specify primary key22 primaryKey: 'id',23
24 // Transform documents before indexing25 transformer: (product) => ({26 ...product,27 // Add custom transformations28 searchText: `${product.title} ${product.description}`,29 // Normalize or clean data30 price: Number(product.price).toFixed(2)31 })32 }33 }34 },35 },36]Required:
Contributions welcome!